
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

uerr_t __regparm3 ftp_retrieve_list(url *u,url *original_url,fileinfo *f,ccon *con)

{
  fileinfo **ppfVar1;
  int iVar2;
  char cVar3;
  url *puVar4;
  byte bVar5;
  url *puVar6;
  options *poVar7;
  fileinfo *pfVar8;
  _Bool _Var9;
  uint uVar10;
  char *pcVar11;
  fileinfo *pfVar12;
  undefined1 *puVar13;
  int iVar14;
  undefined4 uVar15;
  size_t sVar16;
  size_t sVar17;
  int *piVar18;
  int iVar19;
  undefined1 uVar20;
  uint uVar21;
  ftype fVar22;
  undefined1 *puVar23;
  undefined1 *puVar24;
  int in_GS_OFFSET;
  undefined1 auStack_cc [12];
  uerr_t local_c0;
  fileinfo *local_bc;
  byte local_b5;
  url *local_b4;
  uint *local_b0;
  fileinfo *local_ac;
  int local_a8;
  fileinfo *local_a4;
  char *local_a0;
  char *local_9c;
  url *local_98;
  options *local_94;
  fileinfo *local_90;
  char *actual_target;
  stat st;
  
  puVar13 = auStack_cc;
  puVar23 = auStack_cc;
  local_b4 = original_url;
  local_bc = f;
  local_98 = u;
  iVar2 = *(int *)(in_GS_OFFSET + 0x14);
  actual_target = (char *)0x0;
  local_94 = &opt;
  local_90 = (fileinfo *)opt.reclevel;
  iVar14 = ftp_retrieve_list::depth + 1;
  if (opt.reclevel == -1 || iVar14 <= opt.reclevel) {
    uVar21 = con->st;
    ftp_retrieve_list::depth = iVar14;
    con->st = uVar21 & 0xfffffffe;
    uVar10 = con->cmd & 0xfffffffd;
    if ((uVar21 & 2) == 0) {
      uVar10 = con->cmd | 2;
    }
    uVar21 = uVar10 & 0xfffffffe | 0x14;
    if (con->csock < 0) {
      uVar21 = uVar10 | 0x15;
    }
    con->cmd = uVar21;
    if (f == (fileinfo *)0x0) {
      local_90 = (fileinfo *)0x19;
    }
    else {
      local_b5 = 0;
      local_90 = f;
      local_b0 = (uint *)&total_downloaded_bytes;
      do {
        puVar4 = local_98;
        uVar21 = (uint)local_94->quota;
        iVar14 = *(int *)((int)&local_94->quota + 4);
        if ((iVar14 != 0 || uVar21 != 0) &&
           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],
           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))
        {
          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;
          local_90 = (fileinfo *)0x2b;
          goto LAB_00022667;
        }
        pcVar11 = con->target;
        *(char **)(puVar23 + -0x10) = local_98->file;
        local_9c = pcVar11;
        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;
        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));
        *(char **)(puVar23 + -0xc) = local_90->name;
        *(url **)(puVar23 + -0x10) = puVar4;
        *(undefined4 *)(puVar23 + -0x14) = 0x22492;
        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
        *(undefined4 *)(puVar23 + -0xc) = 0;
        *(url **)(puVar23 + -0x10) = puVar4;
        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;
        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
        con->target = pcVar11;
        if (local_94->timestamping == false) {
          fVar22 = local_90->type;
          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;
LAB_00022699:
          uVar20 = 1;
LAB_0002269e:
          if (local_94->recursive == false) {
            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);
            *(char **)(puVar23 + -0x10) = local_90->name;
            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;
            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));
            pcVar11 = "Skipping directory %s.\n";
            *(undefined4 *)(puVar23 + -8) = 5;
LAB_00022705:
            *(char **)(puVar23 + -0xc) = pcVar11;
            *(undefined4 *)(puVar23 + -0x10) = 0;
            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;
            uVar15 = dcgettext();
            *(fileinfo **)(puVar23 + -8) = local_a4;
            *(undefined4 *)(puVar23 + -0xc) = uVar15;
            *(undefined4 *)(puVar23 + -0x10) = 1;
            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;
            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
            uVar20 = (byte)local_ac;
          }
LAB_00022729:
          *(char **)(puVar23 + -0xc) = con->target;
          *(char ***)(puVar23 + -0x10) = &actual_target;
          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);
          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;
          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
          if ((byte)local_a4 != '\0') {
            pfVar12 = (fileinfo *)0x19;
            if (actual_target != (char *)0x0) goto LAB_00022542;
            *(char **)(puVar23 + -0x10) = con->target;
            local_a4 = (fileinfo *)0x19;
            *(undefined4 *)(puVar23 + -0x14) = 0x22771;
            free(*(void **)(puVar23 + -0x10));
            pcVar11 = local_a0;
            con->target = local_9c;
            *(char **)(puVar23 + -0xc) = local_a0;
            *(url **)(puVar23 + -0x10) = local_98;
            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;
            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
            *(char **)(puVar23 + -0x10) = pcVar11;
            *(undefined4 *)(puVar23 + -0x14) = 0x22796;
            free(*(void **)(puVar23 + -0x10));
            puVar13 = (undefined1 *)0x4;
            goto LAB_000227a4;
          }
LAB_00022822:
          local_a4._0_1_ = '\0';
          pfVar12 = (fileinfo *)0x19;
          if (actual_target != (char *)0x0) goto LAB_00022839;
          *(char **)(puVar23 + -0x10) = con->target;
          local_a4 = (fileinfo *)0x19;
          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;
          free(*(void **)(puVar23 + -0x10));
          pcVar11 = local_a0;
          con->target = local_9c;
          *(char **)(puVar23 + -0xc) = local_a0;
          *(url **)(puVar23 + -0x10) = local_98;
          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;
          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
          *(char **)(puVar23 + -0x10) = pcVar11;
          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;
          free(*(void **)(puVar23 + -0x10));
        }
        else {
          fVar22 = local_90->type;
          if (fVar22 == FT_PLAINFILE) {
            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);
            *(stat **)(puVar23 + -8) = &st;
            *(char **)(puVar23 + -0xc) = pcVar11;
            *(undefined4 *)(puVar23 + -0x10) = 3;
            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;
            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),
                               *(stat64 **)(puVar23 + -8));
            bVar5 = (byte)local_a4;
            uVar20 = (byte)local_a4;
            if (iVar14 == 0) {
              local_a4 = (fileinfo *)local_90->tstamp;
              if ((con->rs & ~ST_WINNT) == ST_UNIX) {
                local_ac = (fileinfo *)st.st_size;
                local_a8 = st.st_size._4_4_;
                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;
                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR
                   ) goto LAB_00022bc8;
                if ((int)local_a4 <= st.st_mtim.tv_sec) {
                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;
                  *(fileinfo **)(puVar23 + -0x10) = local_ac;
                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);
                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;
                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));
                  *(undefined4 *)(puVar23 + -8) = 5;
                  *(char **)(puVar23 + -0xc) =
                       "The sizes do not match (local %s) -- retrieving.\n\n";
                  *(undefined4 *)(puVar23 + -0x10) = 0;
                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;
                  uVar15 = dcgettext();
                  *(fileinfo **)(puVar23 + -8) = local_a4;
                  *(undefined4 *)(puVar23 + -0xc) = uVar15;
                  *(undefined4 *)(puVar23 + -0x10) = 0;
                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;
                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
                  uVar20 = (undefined1)local_c0;
                  goto LAB_000229b3;
                }
                pcVar11 = con->target;
LAB_00022bdb:
                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);
                *(char **)(puVar23 + -0x10) = pcVar11;
                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;
                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));
                *(undefined4 *)(puVar23 + -8) = 5;
                *(char **)(puVar23 + -0xc) =
                     "Remote file is newer than local file %s -- retrieving.\n\n";
                *(undefined4 *)(puVar23 + -0x10) = 0;
                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;
                uVar15 = dcgettext();
                *(fileinfo **)(puVar23 + -8) = local_a4;
                *(undefined4 *)(puVar23 + -0xc) = uVar15;
                *(undefined4 *)(puVar23 + -0x10) = 0;
                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;
                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
                fVar22 = local_90->type;
                local_b5 = (byte)local_ac;
                uVar20 = (byte)local_ac;
                goto joined_r0x00022c30;
              }
LAB_00022bc8:
              pcVar11 = con->target;
              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;
              *(char **)(puVar23 + -0x10) = pcVar11;
              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;
              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));
              *(undefined4 *)(puVar23 + -8) = 5;
              *(char **)(puVar23 + -0xc) =
                   "Remote file no newer than local file %s -- not retrieving.\n";
              *(undefined4 *)(puVar23 + -0x10) = 0;
              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;
              uVar15 = dcgettext();
              *(fileinfo **)(puVar23 + -8) = local_a4;
              *(undefined4 *)(puVar23 + -0xc) = uVar15;
              *(undefined4 *)(puVar23 + -0x10) = 0;
              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;
              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
              fVar22 = local_90->type;
              if (fVar22 == FT_DIRECTORY) {
                uVar20 = 0;
                goto LAB_0002269e;
              }
              if (fVar22 != FT_PLAINFILE) {
                uVar20 = 0;
                goto joined_r0x00022e2b;
              }
LAB_00022810:
              puVar24 = puVar23 + -8;
LAB_00022813:
              *(char **)(puVar24 + -4) = con->target;
              *(char ***)(puVar24 + -8) = &actual_target;
              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;
              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));
              puVar23 = puVar24 + 8;
              goto LAB_00022822;
            }
LAB_000229b3:
            fVar22 = local_90->type;
joined_r0x00022c30:
            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;
            if (fVar22 != FT_PLAINFILE) {
joined_r0x00022e2b:
              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;
              if (local_94->retr_symlinks == false) goto LAB_000229f0;
              if (uVar20 == 0) goto LAB_00022810;
            }
          }
          else {
            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;
LAB_000224d0:
            if (fVar22 != FT_PLAINFILE) {
              if (fVar22 != FT_SYMLINK) {
                uVar20 = 1;
LAB_000226dd:
                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);
                *(char **)(puVar23 + -0x10) = local_90->name;
                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;
                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));
                *(undefined4 *)(puVar23 + -8) = 5;
                pcVar11 = "%s: unknown/unsupported file type.\n";
                local_a4 = pfVar12;
                goto LAB_00022705;
              }
              uVar20 = 1;
              if (local_94->retr_symlinks != false) goto LAB_000224f5;
LAB_000229f0:
              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);
              if (local_90->linkto == (char *)0x0) {
                *(undefined4 *)(puVar23 + -8) = 5;
                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";
                *(undefined4 *)(puVar23 + -0x10) = 0;
                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;
                uVar15 = dcgettext();
                *(undefined4 *)(puVar23 + -0xc) = uVar15;
                *(undefined4 *)(puVar23 + -0x10) = 1;
                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;
                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
                uVar20 = (byte)local_a4;
              }
              else {
                *(stat **)(puVar23 + -8) = &st;
                *(char **)(puVar23 + -0xc) = con->target;
                *(undefined4 *)(puVar23 + -0x10) = 3;
                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;
                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),
                                    *(stat64 **)(puVar23 + -8));
                pfVar12 = (fileinfo *)local_90->linkto;
                puVar13 = puVar23;
                uVar20 = (byte)local_a4;
                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {
                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;
                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;
                  sVar16 = strlen(*(char **)(puVar23 + -0x10));
                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);
                  puVar13 = puVar23 + iVar14;
                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;
                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =
                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);
                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;
                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);
                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;
                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),
                                    *(char **)(puVar23 + iVar14 + -0xc),
                                    *(size_t *)(puVar23 + iVar14 + -8));
                  if (sVar16 == sVar17) {
                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);
                    pfVar12 = (fileinfo *)local_90->linkto;
                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;
                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;
                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;
                    local_a4 = pfVar12;
                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;
                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),
                                    *(void **)(puVar23 + iVar14 + -0xc),
                                    *(size_t *)(puVar23 + iVar14 + -8));
                    pfVar12 = local_a4;
                    uVar20 = (undefined1)local_c0;
                    if (iVar19 == 0) {
                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;
                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;
                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));
                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;
                      local_ac = pfVar12;
                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;
                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));
                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;
                      *(char **)(puVar23 + iVar14 + -0xc) =
                           "Already have correct symlink %s -> %s\n\n";
                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;
                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;
                      uVar15 = dcgettext();
                      pfVar12 = local_a4;
                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;
                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;
                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;
                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;
                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;
                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),
                                *(char **)(puVar23 + iVar14 + -0x1c));
                      puVar24 = puVar23 + iVar14 + -8;
                      goto LAB_00022813;
                    }
                  }
                  else {
                    pfVar12 = (fileinfo *)local_90->linkto;
                    puVar13 = puVar23 + iVar14;
                    uVar20 = (byte)local_a4;
                  }
                }
                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);
                *(fileinfo **)(puVar13 + -0x10) = pfVar12;
                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;
                pcVar11 = quote(*(char **)(puVar13 + -0x10));
                *(char **)(puVar13 + -0x10) = con->target;
                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;
                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));
                *(undefined4 *)(puVar13 + -8) = 5;
                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";
                *(undefined4 *)(puVar13 + -0x10) = 0;
                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;
                uVar15 = dcgettext();
                pfVar12 = local_a4;
                *(char **)(puVar13 + -0x14) = pcVar11;
                *(fileinfo **)(puVar13 + -0x18) = pfVar12;
                *(undefined4 *)(puVar13 + -0x1c) = uVar15;
                *(undefined4 *)(puVar13 + -0x20) = 0;
                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;
                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));
                *(char **)(puVar13 + -0x10) = con->target;
                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;
                unlink(*(char **)(puVar13 + -0x10));
                pfVar12 = local_90;
                *(char **)(puVar13 + -0xc) = con->target;
                *(char **)(puVar13 + -0x10) = pfVar12->linkto;
                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;
                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));
                uVar20 = (byte)local_ac;
                if (iVar14 == -1) {
                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);
                  *(undefined4 *)(puVar13 + -4) = 0x22db3;
                  piVar18 = __errno_location();
                  *(int *)(puVar13 + -0x10) = *piVar18;
                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;
                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));
                  *(char **)(puVar13 + -8) = pcVar11;
                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";
                  *(undefined4 *)(puVar13 + -0x10) = 1;
                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;
                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));
                  uVar20 = (byte)local_a4;
                }
                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);
                *(char **)(puVar13 + -0xc) = "\n";
                *(undefined4 *)(puVar13 + -0x10) = 0;
                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;
                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));
                puVar23 = puVar13;
                uVar20 = (byte)local_a4;
              }
              goto LAB_00022729;
            }
          }
LAB_000224f5:
          pfVar12 = local_90;
          puVar4 = local_b4;
          *(uint *)(puVar23 + -8) = (uint)local_b5;
          puVar6 = local_98;
          *(undefined4 *)(puVar23 + -0xc) = 0;
          *(ccon **)(puVar23 + -0x10) = con;
          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;
          pfVar12 = (fileinfo *)
                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),
                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);
          *(char **)(puVar23 + -0xc) = con->target;
          local_a4 = pfVar12;
          *(char ***)(puVar23 + -0x10) = &actual_target;
          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;
          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
          pfVar12 = local_a4;
          pfVar8 = local_ac;
          if (actual_target != (char *)0x0) {
LAB_00022542:
            pcVar11 = actual_target;
            local_ac = local_90;
            if (local_90->type == FT_PLAINFILE) {
              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);
              if (local_94->preserve_perm != false) {
                if (local_90->perms == 0) {
                  if (local_94->debug == false) goto LAB_00022593;
                  local_ac = pfVar12;
                  *(char **)(puVar23 + -0xc) = actual_target;
                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";
                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;
                  debug_logprintf(*(char **)(puVar23 + -0x10));
                }
                else {
                  local_ac = pfVar12;
                  *(int *)(puVar23 + -0xc) = local_90->perms;
                  *(char **)(puVar23 + -0x10) = pcVar11;
                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;
                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));
                  pcVar11 = actual_target;
                  if (iVar14 != 0) {
                    *(undefined4 *)(puVar23 + -8) = 5;
                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";
                    *(undefined4 *)(puVar23 + -0x10) = 0;
                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;
                    uVar15 = dcgettext();
                    *(char **)(puVar23 + -8) = pcVar11;
                    *(undefined4 *)(puVar23 + -0xc) = uVar15;
                    *(undefined4 *)(puVar23 + -0x10) = 1;
                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;
                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
                  }
                }
                pfVar12 = local_ac;
                pfVar8 = local_ac;
                if (actual_target == (char *)0x0) goto LAB_000225c8;
                goto LAB_00022839;
              }
LAB_00022593:
              local_a4._0_1_ = local_94->useservertimestamps;
              iVar14 = local_90->tstamp;
              cVar3 = (byte)local_a4;
joined_r0x00022b2f:
              pfVar8 = local_ac;
              pcVar11 = actual_target;
              if (cVar3 != '\0') {
LAB_0002285a:
                pfVar8 = local_ac;
                pcVar11 = actual_target;
                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {
                  local_a4 = pfVar12;
                  *(undefined4 *)(puVar23 + -0xc) = 0;
                  *(char **)(puVar23 + -0x10) = con->target;
                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;
                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),
                                        *(file_stats_t **)(puVar23 + -0xc));
                  if (_Var9) {
                    *(long *)(puVar23 + -0xc) = local_90->tstamp;
                    *(char **)(puVar23 + -0x10) = actual_target;
                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;
                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));
                    pfVar12 = local_a4;
                    pfVar8 = local_ac;
                    goto LAB_000225c8;
                  }
                  iVar14 = local_90->tstamp;
                  pfVar12 = local_a4;
                  pfVar8 = local_ac;
                  pcVar11 = actual_target;
                }
              }
            }
            else {
              local_a4._0_1_ = '\x01';
LAB_00022839:
              iVar14 = local_90->tstamp;
              pfVar8 = local_ac;
              pcVar11 = actual_target;
              if (local_94->useservertimestamps != false) {
                if (local_90->type == FT_SYMLINK) {
                  cVar3 = local_94->retr_symlinks;
                  goto joined_r0x00022b2f;
                }
                goto LAB_0002285a;
              }
            }
            local_ac = pfVar12;
            pfVar12 = local_ac;
            actual_target = pcVar11;
            if (iVar14 == -1) {
              *(undefined4 *)(puVar23 + -8) = 5;
              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";
              *(undefined4 *)(puVar23 + -0x10) = 0;
              local_a4 = (fileinfo *)pcVar11;
              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;
              uVar15 = dcgettext();
              *(fileinfo **)(puVar23 + -8) = local_a4;
              *(undefined4 *)(puVar23 + -0xc) = uVar15;
              *(undefined4 *)(puVar23 + -0x10) = 1;
              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;
              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
              pfVar12 = local_ac;
              pfVar8 = local_ac;
            }
          }
LAB_000225c8:
          local_ac = pfVar8;
          *(char **)(puVar23 + -0x10) = con->target;
          local_a4 = pfVar12;
          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;
          free(*(void **)(puVar23 + -0x10));
          pcVar11 = local_a0;
          con->target = local_9c;
          *(char **)(puVar23 + -0xc) = local_a0;
          *(url **)(puVar23 + -0x10) = local_98;
          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;
          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));
          *(char **)(puVar23 + -0x10) = pcVar11;
          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;
          free(*(void **)(puVar23 + -0x10));
          if (local_a4 == (fileinfo *)0x1) break;
          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);
          if (puVar13 < (undefined1 *)0x20) {
LAB_000227a4:
            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;
          }
          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;
        }
        con->cmd = con->cmd & 0xfffffffc;
        ppfVar1 = &local_90->next;
        local_90 = *ppfVar1;
      } while (*ppfVar1 != (fileinfo *)0x0);
      local_90 = local_a4;
      puVar13 = puVar23;
    }
    puVar4 = local_b4;
    pfVar12 = local_bc;
    if (local_94->recursive != false) {
      iVar14 = local_94->reclevel;
      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {
        *(ccon **)(puVar13 + -0x10) = con;
        puVar6 = local_98;
        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;
        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));
      }
      else if (local_94->debug != false) {
        local_94 = (options *)ftp_retrieve_list::depth;
        *(undefined4 *)(puVar13 + -8) = 5;
        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";
        *(undefined4 *)(puVar13 + -0x10) = 0;
        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;
        uVar15 = dcgettext();
        poVar7 = local_94;
        *(int *)(puVar13 + -8) = iVar14;
        *(options **)(puVar13 + -0xc) = poVar7;
        *(undefined4 *)(puVar13 + -0x10) = uVar15;
        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;
        debug_logprintf(*(char **)(puVar13 + -0x10));
      }
    }
    ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;
    puVar23 = puVar13;
  }
  else {
    if (opt.debug) {
      ftp_retrieve_list::depth = iVar14;
      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);
      debug_logprintf(pcVar11,iVar14,local_90);
      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;
    }
    puVar23 = auStack_cc;
    local_90 = (fileinfo *)0x1a;
  }
LAB_00022667:
  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {
    return (uerr_t)local_90;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined **)(puVar23 + -4) = &UNK_00022f5b;
  __stack_chk_fail_local();
}



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

int * __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)

{
  undefined4 *puVar1;
  int iVar2;
  int *piVar3;
  char cVar4;
  uint uVar5;
  int *piVar6;
  char *pcVar7;
  int iVar8;
  undefined4 uVar9;
  int iVar10;
  undefined4 uVar11;
  size_t sVar12;
  size_t sVar13;
  byte bVar14;
  undefined1 uVar15;
  uint uVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar19;
  int in_GS_OFFSET;
  undefined1 auStack_cc [12];
  uint local_c0;
  int *local_bc;
  byte local_b5;
  undefined4 local_b4;
  uint *local_b0;
  int *local_ac;
  int local_a8;
  int *local_a4;
  undefined4 local_a0;
  uint local_9c;
  int local_98;
  undefined4 *local_94;
  int *local_90;
  int local_84;
  undefined1 local_80 [16];
  uint local_70;
  int *local_54;
  int local_50;
  int local_38;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2236b;
  puVar17 = auStack_cc;
  local_94 = &DAT_000a8a40;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_84 = 0;
  local_90 = (int *)DAT_000a8a60;
  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);
  local_bc = param_3;
  local_b4 = param_2;
  local_98 = param_1;
  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {
    uVar16 = *param_4;
    DAT_000a3460 = puVar1;
    *param_4 = uVar16 & 0xfffffffe;
    uVar5 = param_4[1] & 0xfffffffd;
    if ((uVar16 & 2) == 0) {
      uVar5 = param_4[1] | 2;
    }
    uVar16 = uVar5 & 0xfffffffe | 0x14;
    if ((int)param_4[2] < 0) {
      uVar16 = uVar5 | 0x15;
    }
    param_4[1] = uVar16;
    if (param_3 == (int *)0x0) {
      local_90 = (int *)0x19;
      puVar17 = auStack_cc;
      piVar6 = local_90;
    }
    else {
      local_b0 = &DAT_000a8c80;
      local_b5 = 0;
      local_90 = param_3;
      do {
        iVar10 = local_98;
        iVar8 = local_94[0x55];
        if ((iVar8 != 0 || local_94[0x54] != 0) &&
           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],
           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {
          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);
          local_90 = (int *)0x2b;
          goto LAB_00022667;
        }
        uVar16 = param_4[8];
        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);
        local_9c = uVar16;
        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;
        local_a0 = FUN_0005af70();
        *(int *)(puVar17 + -0xc) = local_90[1];
        *(int *)(puVar17 + -0x10) = iVar10;
        *(undefined4 *)(puVar17 + -0x14) = 0x22492;
        FUN_00046e10();
        *(undefined4 *)(puVar17 + -0xc) = 0;
        *(int *)(puVar17 + -0x10) = iVar10;
        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;
        uVar16 = FUN_00045130();
        param_4[8] = uVar16;
        if (*(char *)(local_94 + 0x57) == '\0') {
          iVar8 = *local_90;
          if (iVar8 != 1) goto LAB_000224d0;
LAB_00022699:
          bVar14 = 1;
LAB_0002269e:
          if (*(char *)((int)local_94 + 0x16) == '\0') {
            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);
            *(int *)(puVar17 + -0x10) = local_90[1];
            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;
            local_a4 = (int *)FUN_0005aa80();
            pcVar7 = "Skipping directory %s.\n";
            *(undefined4 *)(puVar17 + -8) = 5;
LAB_00022705:
            *(char **)(puVar17 + -0xc) = pcVar7;
            *(undefined4 *)(puVar17 + -0x10) = 0;
            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;
            uVar11 = dcgettext();
            *(int **)(puVar17 + -8) = local_a4;
            *(undefined4 *)(puVar17 + -0xc) = uVar11;
            *(undefined4 *)(puVar17 + -0x10) = 1;
            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;
            FUN_0003af00();
            bVar14 = (byte)local_ac;
          }
LAB_00022729:
          *(uint *)(puVar17 + -0xc) = param_4[8];
          *(int **)(puVar17 + -0x10) = &local_84;
          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);
          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;
          FUN_00043f00();
          if ((byte)local_a4 != '\0') {
            piVar6 = (int *)0x19;
            if (local_84 != 0) goto LAB_00022542;
            *(uint *)(puVar17 + -0x10) = param_4[8];
            local_a4 = (int *)0x19;
            *(undefined4 *)(puVar17 + -0x14) = 0x22771;
            free(*(void **)(puVar17 + -0x10));
            uVar11 = local_a0;
            param_4[8] = local_9c;
            *(undefined4 *)(puVar17 + -0xc) = local_a0;
            *(int *)(puVar17 + -0x10) = local_98;
            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;
            FUN_00046e10();
            *(undefined4 *)(puVar17 + -0x10) = uVar11;
            *(undefined4 *)(puVar17 + -0x14) = 0x22796;
            free(*(void **)(puVar17 + -0x10));
            uVar16 = 4;
            goto LAB_000227a4;
          }
LAB_00022822:
          local_a4._0_1_ = '\0';
          piVar6 = (int *)0x19;
          if (local_84 != 0) goto LAB_00022839;
          *(uint *)(puVar17 + -0x10) = param_4[8];
          local_a4 = (int *)0x19;
          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;
          free(*(void **)(puVar17 + -0x10));
          uVar11 = local_a0;
          param_4[8] = local_9c;
          *(undefined4 *)(puVar17 + -0xc) = local_a0;
          *(int *)(puVar17 + -0x10) = local_98;
          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;
          FUN_00046e10();
          *(undefined4 *)(puVar17 + -0x10) = uVar11;
          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;
          free(*(void **)(puVar17 + -0x10));
        }
        else {
          iVar8 = *local_90;
          if (iVar8 == 0) {
            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));
            *(undefined1 **)(puVar17 + -8) = local_80;
            *(uint *)(puVar17 + -0xc) = uVar16;
            *(undefined4 *)(puVar17 + -0x10) = 3;
            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;
            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),
                              *(stat64 **)(puVar17 + -8));
            bVar14 = (byte)local_a4;
            if (iVar8 == 0) {
              iVar8 = local_90[4];
              local_a4 = (int *)iVar8;
              if ((param_4[5] & 0xfffffffd) == 0) {
                local_ac = local_54;
                local_a8 = local_50;
                local_c0 = (uint)local_54 ^ local_90[2];
                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;
                if (iVar8 <= local_38) {
                  *(int *)(puVar17 + -0xc) = local_50;
                  *(int **)(puVar17 + -0x10) = local_ac;
                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);
                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;
                  local_a4 = (int *)FUN_0004d760();
                  *(undefined4 *)(puVar17 + -8) = 5;
                  *(char **)(puVar17 + -0xc) =
                       "The sizes do not match (local %s) -- retrieving.\n\n";
                  *(undefined4 *)(puVar17 + -0x10) = 0;
                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;
                  uVar11 = dcgettext();
                  *(int **)(puVar17 + -8) = local_a4;
                  *(undefined4 *)(puVar17 + -0xc) = uVar11;
                  *(undefined4 *)(puVar17 + -0x10) = 0;
                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;
                  FUN_0003af00();
                  bVar14 = (byte)local_c0;
                  goto LAB_000229b3;
                }
                uVar16 = param_4[8];
LAB_00022bdb:
                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);
                *(uint *)(puVar17 + -0x10) = uVar16;
                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;
                local_a4 = (int *)FUN_0005aa80();
                *(undefined4 *)(puVar17 + -8) = 5;
                *(char **)(puVar17 + -0xc) =
                     "Remote file is newer than local file %s -- retrieving.\n\n";
                *(undefined4 *)(puVar17 + -0x10) = 0;
                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;
                uVar11 = dcgettext();
                *(int **)(puVar17 + -8) = local_a4;
                *(undefined4 *)(puVar17 + -0xc) = uVar11;
                *(undefined4 *)(puVar17 + -0x10) = 0;
                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;
                FUN_0003af00();
                iVar8 = *local_90;
                local_b5 = (byte)local_ac;
                bVar14 = (byte)local_ac;
                goto joined_r0x00022c30;
              }
LAB_00022bc8:
              uVar16 = param_4[8];
              if (local_38 < iVar8) goto LAB_00022bdb;
              *(uint *)(puVar17 + -0x10) = uVar16;
              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;
              local_a4 = (int *)FUN_0005aa80();
              *(undefined4 *)(puVar17 + -8) = 5;
              *(char **)(puVar17 + -0xc) =
                   "Remote file no newer than local file %s -- not retrieving.\n";
              *(undefined4 *)(puVar17 + -0x10) = 0;
              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;
              uVar11 = dcgettext();
              *(int **)(puVar17 + -8) = local_a4;
              *(undefined4 *)(puVar17 + -0xc) = uVar11;
              *(undefined4 *)(puVar17 + -0x10) = 0;
              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;
              FUN_0003af00();
              iVar8 = *local_90;
              if (iVar8 == 1) {
                bVar14 = 0;
                goto LAB_0002269e;
              }
              if (iVar8 != 0) {
                bVar14 = 0;
                goto joined_r0x00022e2b;
              }
LAB_00022810:
              puVar19 = puVar17 + -8;
LAB_00022813:
              *(uint *)(puVar19 + -4) = param_4[8];
              *(int **)(puVar19 + -8) = &local_84;
              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;
              FUN_00043f00();
              puVar17 = puVar19 + 8;
              goto LAB_00022822;
            }
LAB_000229b3:
            iVar8 = *local_90;
joined_r0x00022c30:
            if (iVar8 == 1) goto LAB_0002269e;
            if (iVar8 != 0) {
joined_r0x00022e2b:
              if (iVar8 != 2) goto LAB_000226dd;
              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;
              if (bVar14 == 0) goto LAB_00022810;
            }
          }
          else {
            if (iVar8 == 1) goto LAB_00022699;
LAB_000224d0:
            if (iVar8 != 0) {
              if (iVar8 != 2) {
                bVar14 = 1;
LAB_000226dd:
                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);
                *(int *)(puVar17 + -0x10) = local_90[1];
                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;
                piVar6 = (int *)FUN_0005aa80();
                *(undefined4 *)(puVar17 + -8) = 5;
                pcVar7 = "%s: unknown/unsupported file type.\n";
                local_a4 = piVar6;
                goto LAB_00022705;
              }
              bVar14 = 1;
              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;
LAB_000229f0:
              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);
              if (local_90[7] == 0) {
                *(undefined4 *)(puVar17 + -8) = 5;
                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";
                *(undefined4 *)(puVar17 + -0x10) = 0;
                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;
                uVar11 = dcgettext();
                *(undefined4 *)(puVar17 + -0xc) = uVar11;
                *(undefined4 *)(puVar17 + -0x10) = 1;
                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;
                FUN_0003ace0();
                bVar14 = (byte)local_a4;
              }
              else {
                *(undefined1 **)(puVar17 + -8) = local_80;
                *(uint *)(puVar17 + -0xc) = param_4[8];
                *(undefined4 *)(puVar17 + -0x10) = 3;
                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;
                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),
                                   *(stat64 **)(puVar17 + -8));
                piVar6 = (int *)local_90[7];
                puVar18 = puVar17;
                uVar15 = (byte)local_a4;
                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {
                  *(int **)(puVar17 + -0x10) = piVar6;
                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;
                  sVar12 = strlen(*(char **)(puVar17 + -0x10));
                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);
                  puVar18 = puVar17 + iVar8;
                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;
                  *(int **)(puVar17 + iVar8 + -0xc) =
                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);
                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];
                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);
                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;
                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),
                                    *(char **)(puVar17 + iVar8 + -0xc),
                                    *(size_t *)(puVar17 + iVar8 + -8));
                  if (sVar12 == sVar13) {
                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);
                    piVar6 = (int *)local_90[7];
                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;
                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;
                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;
                    local_a4 = piVar6;
                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;
                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),
                                    *(void **)(puVar17 + iVar8 + -0xc),
                                    *(size_t *)(puVar17 + iVar8 + -8));
                    piVar6 = local_a4;
                    uVar15 = (byte)local_c0;
                    if (iVar10 == 0) {
                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;
                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;
                      piVar6 = (int *)FUN_0005aa80();
                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];
                      local_ac = piVar6;
                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;
                      local_a4 = (int *)FUN_0005aa80();
                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;
                      *(char **)(puVar17 + iVar8 + -0xc) =
                           "Already have correct symlink %s -> %s\n\n";
                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;
                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;
                      uVar11 = dcgettext();
                      piVar6 = local_a4;
                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;
                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;
                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;
                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;
                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;
                      FUN_0003af00();
                      puVar19 = puVar17 + iVar8 + -8;
                      goto LAB_00022813;
                    }
                  }
                  else {
                    piVar6 = (int *)local_90[7];
                    puVar18 = puVar17 + iVar8;
                    uVar15 = (byte)local_a4;
                  }
                }
                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);
                *(int **)(puVar18 + -0x10) = piVar6;
                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;
                uVar11 = FUN_0005aa80();
                *(uint *)(puVar18 + -0x10) = param_4[8];
                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;
                local_a4 = (int *)FUN_0005aa80();
                *(undefined4 *)(puVar18 + -8) = 5;
                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";
                *(undefined4 *)(puVar18 + -0x10) = 0;
                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;
                uVar9 = dcgettext();
                piVar6 = local_a4;
                *(undefined4 *)(puVar18 + -0x14) = uVar11;
                *(int **)(puVar18 + -0x18) = piVar6;
                *(undefined4 *)(puVar18 + -0x1c) = uVar9;
                *(undefined4 *)(puVar18 + -0x20) = 0;
                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;
                FUN_0003af00();
                *(uint *)(puVar18 + -0x10) = param_4[8];
                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;
                unlink(*(char **)(puVar18 + -0x10));
                piVar6 = local_90;
                *(uint *)(puVar18 + -0xc) = param_4[8];
                *(int *)(puVar18 + -0x10) = piVar6[7];
                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;
                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
                uVar15 = (byte)local_ac;
                if (iVar8 == -1) {
                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);
                  *(undefined4 *)(puVar18 + -4) = 0x22db3;
                  piVar6 = __errno_location();
                  *(int *)(puVar18 + -0x10) = *piVar6;
                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;
                  uVar11 = FUN_0006d0d0();
                  *(undefined4 *)(puVar18 + -8) = uVar11;
                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";
                  *(undefined4 *)(puVar18 + -0x10) = 1;
                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;
                  FUN_0003af00();
                  uVar15 = (byte)local_a4;
                }
                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);
                *(char **)(puVar18 + -0xc) = "\n";
                *(undefined4 *)(puVar18 + -0x10) = 0;
                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;
                FUN_0003ace0();
                puVar17 = puVar18;
                bVar14 = (byte)local_a4;
              }
              goto LAB_00022729;
            }
          }
LAB_000224f5:
          *(uint *)(puVar17 + -8) = (uint)local_b5;
          *(undefined4 *)(puVar17 + -0xc) = 0;
          *(uint **)(puVar17 + -0x10) = param_4;
          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;
          piVar6 = (int *)FUN_00020e70();
          *(uint *)(puVar17 + -0xc) = param_4[8];
          local_a4 = piVar6;
          *(int **)(puVar17 + -0x10) = &local_84;
          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;
          FUN_00043f00();
          piVar6 = local_a4;
          piVar3 = local_ac;
          if (local_84 != 0) {
LAB_00022542:
            iVar8 = local_84;
            local_ac = local_90;
            if (*local_90 == 0) {
              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));
              if (*(char *)((int)local_94 + 0x1f9) != '\0') {
                if (local_90[6] == 0) {
                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;
                  local_ac = piVar6;
                  *(int *)(puVar17 + -0xc) = local_84;
                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";
                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;
                  FUN_0003b070();
                }
                else {
                  local_ac = piVar6;
                  *(int *)(puVar17 + -0xc) = local_90[6];
                  *(int *)(puVar17 + -0x10) = iVar8;
                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;
                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));
                  iVar8 = local_84;
                  if (iVar10 != 0) {
                    *(undefined4 *)(puVar17 + -8) = 5;
                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";
                    *(undefined4 *)(puVar17 + -0x10) = 0;
                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;
                    uVar11 = dcgettext();
                    *(int *)(puVar17 + -8) = iVar8;
                    *(undefined4 *)(puVar17 + -0xc) = uVar11;
                    *(undefined4 *)(puVar17 + -0x10) = 1;
                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;
                    FUN_0003af00();
                  }
                }
                piVar6 = local_ac;
                piVar3 = local_ac;
                if (local_84 == 0) goto LAB_000225c8;
                goto LAB_00022839;
              }
LAB_00022593:
              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);
              iVar8 = local_90[4];
              cVar4 = (byte)local_a4;
joined_r0x00022b2f:
              piVar3 = local_ac;
              iVar10 = local_84;
              if (cVar4 != '\0') {
LAB_0002285a:
                piVar3 = local_ac;
                iVar10 = local_84;
                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {
                  local_a4 = piVar6;
                  *(undefined4 *)(puVar17 + -0xc) = 0;
                  *(uint *)(puVar17 + -0x10) = param_4[8];
                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;
                  cVar4 = FUN_00049d50();
                  if (cVar4 != '\0') {
                    *(int *)(puVar17 + -0xc) = local_90[4];
                    *(int *)(puVar17 + -0x10) = local_84;
                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;
                    FUN_00049bc0();
                    piVar6 = local_a4;
                    piVar3 = local_ac;
                    goto LAB_000225c8;
                  }
                  iVar8 = local_90[4];
                  piVar6 = local_a4;
                  piVar3 = local_ac;
                  iVar10 = local_84;
                }
              }
            }
            else {
              local_a4._0_1_ = '\x01';
LAB_00022839:
              iVar8 = local_90[4];
              piVar3 = local_ac;
              iVar10 = local_84;
              if (*(char *)((int)local_94 + 0x20d) != '\0') {
                if (*local_90 == 2) {
                  cVar4 = *(char *)((int)local_94 + 0x91);
                  goto joined_r0x00022b2f;
                }
                goto LAB_0002285a;
              }
            }
            local_ac = piVar6;
            piVar6 = local_ac;
            local_84 = iVar10;
            if (iVar8 == -1) {
              *(undefined4 *)(puVar17 + -8) = 5;
              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";
              *(undefined4 *)(puVar17 + -0x10) = 0;
              local_a4 = (int *)iVar10;
              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;
              uVar11 = dcgettext();
              *(int **)(puVar17 + -8) = local_a4;
              *(undefined4 *)(puVar17 + -0xc) = uVar11;
              *(undefined4 *)(puVar17 + -0x10) = 1;
              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;
              FUN_0003af00();
              piVar6 = local_ac;
              piVar3 = local_ac;
            }
          }
LAB_000225c8:
          local_ac = piVar3;
          *(uint *)(puVar17 + -0x10) = param_4[8];
          local_a4 = piVar6;
          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;
          free(*(void **)(puVar17 + -0x10));
          uVar11 = local_a0;
          param_4[8] = local_9c;
          *(undefined4 *)(puVar17 + -0xc) = local_a0;
          *(int *)(puVar17 + -0x10) = local_98;
          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;
          FUN_00046e10();
          *(undefined4 *)(puVar17 + -0x10) = uVar11;
          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;
          free(*(void **)(puVar17 + -0x10));
          piVar6 = local_a4;
          if (local_a4 == (int *)0x1) break;
          uVar16 = (int)local_a4 - 0x15;
          if (uVar16 < 0x20) {
LAB_000227a4:
            piVar6 = local_a4;
            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;
          }
          piVar6 = local_a4;
          if ((int)local_a4 - 0x35U < 2) break;
        }
        param_4[1] = param_4[1] & 0xfffffffc;
        local_90 = (int *)local_90[9];
        piVar6 = local_a4;
      } while (local_90 != (int *)0x0);
    }
    local_90 = piVar6;
    if (*(char *)((int)local_94 + 0x16) != '\0') {
      iVar8 = local_94[8];
      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {
        *(uint **)(puVar17 + -0x10) = param_4;
        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;
        local_90 = (int *)FUN_000220d0();
      }
      else if (*(char *)((int)local_94 + 0x15b) != '\0') {
        local_94 = DAT_000a3460;
        *(undefined4 *)(puVar17 + -8) = 5;
        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";
        *(undefined4 *)(puVar17 + -0x10) = 0;
        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;
        uVar11 = dcgettext();
        puVar1 = local_94;
        *(int *)(puVar17 + -8) = iVar8;
        *(undefined4 **)(puVar17 + -0xc) = puVar1;
        *(undefined4 *)(puVar17 + -0x10) = uVar11;
        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;
        FUN_0003b070();
      }
    }
    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);
  }
  else {
    if (DAT_000a8b9b != '\0') {
      DAT_000a3460 = puVar1;
      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);
      FUN_0003b070(uVar11,puVar1,local_90);
      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);
    }
    puVar17 = auStack_cc;
    local_90 = (int *)0x1a;
  }
LAB_00022667:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_90;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;
  FUN_0006da50();
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00019070
ADD EBX,0x7e865
SUB ESP,0xbc
MOV dword ptr [EBP + 0xffffff50],EDX
MOV EDI,dword ptr [EBP + 0x8]
MOV dword ptr [EBP + 0xffffff48],ECX
MOV dword ptr [EBP + 0xffffff6c],EAX
LEA EDX,[EBX + 0x7e70]
MOV EAX,GS:[0x14]
MOV dword ptr [EBP + -0x1c],EAX
XOR EAX,EAX
MOV EAX,dword ptr [EBX + 0x2890]
MOV dword ptr [EBP + -0x80],0x0
MOV dword ptr [EBP + 0xffffff70],EDX
MOV EDX,dword ptr [EDX + 0x20]
LEA ESI,[EAX + 0x1]
CMP ESI,EDX
MOV dword ptr [EBX + 0x2890],ESI
SETG CL
CMP EDX,-0x1
SETNZ byte ptr [EBP + 0xffffff74]
TEST byte ptr [EBP + 0xffffff74],CL
JNZ 0x00022de0
MOV EDX,dword ptr [EDI]
MOV EAX,EDX
AND EAX,0xfffffffe
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [EDI + 0x4]
MOV ECX,EAX
AND EAX,0xfffffffd
OR ECX,0x2
AND EDX,0x2
CMOVZ EAX,ECX
MOV ECX,dword ptr [EDI + 0x8]
MOV EDX,EAX
AND EDX,0xfffffffe
OR EDX,0x14
TEST ECX,ECX
JNS 0x00022405
OR EAX,0x15
MOV EDX,EAX
MOV ESI,dword ptr [EBP + 0xffffff48]
MOV dword ptr [EDI + 0x4],EDX
TEST ESI,ESI
JZ 0x00022ef0
LEA EAX,[EBX + 0x80b0]
MOV byte ptr [EBP + 0xffffff4f],0x0
MOV dword ptr [EBP + 0xffffff74],ESI
MOV ESI,EDI
MOV dword ptr [EBP + 0xffffff54],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV EDX,dword ptr [EAX + 0x150]
MOV EAX,dword ptr [EAX + 0x154]
MOV ECX,EAX
OR ECX,EDX
JZ 0x00022461
MOV ECX,dword ptr [EBP + 0xffffff54]
CMP EDX,dword ptr [ECX]
SBB EAX,dword ptr [ECX + 0x4]
JL 0x00022e10
MOV EDI,dword ptr [EBP + 0xffffff6c]
SUB ESP,0xc
MOV EAX,dword ptr [ESI + 0x20]
PUSH dword ptr [EDI + 0x24]
MOV dword ptr [EBP + 0xffffff68],EAX
CALL 0x0005af70
MOV dword ptr [EBP + 0xffffff64],EAX
POP EAX
MOV EAX,dword ptr [EBP + 0xffffff74]
POP EDX
PUSH dword ptr [EAX + 0x4]
PUSH EDI
CALL 0x00046e10
POP ECX
POP EAX
PUSH 0x0
PUSH EDI
CALL 0x00045130
MOV EDX,dword ptr [EBP + 0xffffff70]
ADD ESP,0x10
MOV dword ptr [ESI + 0x20],EAX
MOVZX ECX,byte ptr [EDX + 0x15c]
TEST CL,CL
JZ 0x00022688
MOV EDI,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [EDI]
TEST EDX,EDX
JZ 0x000228d0
CMP EDX,0x1
JZ 0x00022699
TEST EDX,EDX
JZ 0x000224f5
CMP EDX,0x2
JNZ 0x000226d8
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV ECX,0x1
CMP byte ptr [EAX + 0x91],0x0
JZ 0x000229f0
MOVZX EAX,byte ptr [EBP + 0xffffff4f]
SUB ESP,0x4
MOV ECX,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [EBP + 0xffffff50]
PUSH EAX
MOV EAX,dword ptr [EBP + 0xffffff6c]
PUSH 0x0
PUSH ESI
CALL 0x00020e70
POP ECX
POP EDI
PUSH dword ptr [ESI + 0x20]
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBP + -0x80]
PUSH EAX
CALL 0x00043f00
MOV EAX,dword ptr [EBP + -0x80]
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff60]
TEST EAX,EAX
JZ 0x000225c8
MOV EDI,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [EDI]
MOV dword ptr [EBP + 0xffffff58],EDI
TEST EDX,EDX
JNZ 0x000228c0
MOV EDI,dword ptr [EBP + 0xffffff70]
MOVZX EDX,byte ptr [EDI + 0x1f9]
MOV byte ptr [EBP + 0xffffff60],DL
TEST DL,DL
JZ 0x00022593
MOV EDX,dword ptr [EBP + 0xffffff58]
MOV EDI,dword ptr [EDX + 0x18]
TEST EDI,EDI
JNZ 0x00022c40
MOV EDI,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EDI + 0x15b],0x0
JNZ 0x00022ecc
MOV EAX,dword ptr [EBP + 0xffffff70]
MOVZX EAX,byte ptr [EAX + 0x20d]
MOV byte ptr [EBP + 0xffffff60],AL
MOV EAX,dword ptr [EBP + 0xffffff74]
CMP byte ptr [EBP + 0xffffff60],0x0
MOV EAX,dword ptr [EAX + 0x10]
JNZ 0x0002285a
CMP EAX,-0x1
JZ 0x00022879
LEA ESI,[ESI]
SUB ESP,0xc
PUSH dword ptr [ESI + 0x20]
MOV dword ptr [EBP + 0xffffff60],ECX
CALL 0x00016670
MOV EAX,dword ptr [EBP + 0xffffff68]
MOV dword ptr [ESI + 0x20],EAX
POP ECX
POP EDI
MOV EDI,dword ptr [EBP + 0xffffff64]
PUSH EDI
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00046e10
MOV dword ptr [ESP],EDI
CALL 0x00016670
MOV ECX,dword ptr [EBP + 0xffffff60]
ADD ESP,0x10
CMP ECX,0x1
JZ 0x00022640
LEA EAX,[ECX + -0x15]
CMP EAX,0x1f
JBE 0x000227a4
LEA EAX,[ECX + -0x35]
CMP EAX,0x1
JBE 0x00022640
MOV EAX,dword ptr [EBP + 0xffffff74]
AND dword ptr [ESI + 0x4],0xfffffffc
MOV EAX,dword ptr [EAX + 0x24]
MOV dword ptr [EBP + 0xffffff74],EAX
TEST EAX,EAX
JNZ 0x00022438
LEA ESI,[ESI]
NOP
MOV dword ptr [EBP + 0xffffff74],ECX
MOV EDI,ESI
MOV EAX,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EAX + 0x16],0x0
JNZ 0x00022b78
MOV EDX,dword ptr [EBX + 0x2890]
LEA EAX,[EDX + -0x1]
MOV dword ptr [EBX + 0x2890],EAX
MOV EDI,dword ptr [EBP + -0x1c]
XOR EDI,dword ptr GS:[0x14]
MOV EAX,dword ptr [EBP + 0xffffff74]
JNZ 0x00022f56
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [EAX]
CMP EDX,0x1
JNZ 0x000224d0
MOV ECX,0x1
MOV EAX,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EAX + 0x16],0x0
JNZ 0x00022729
MOV EAX,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
MOV byte ptr [EBP + 0xffffff58],CL
PUSH dword ptr [EAX + 0x4]
CALL 0x0005aa80
ADD ESP,0xc
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBX + 0xfffce065]
PUSH 0x5
JMP 0x00022705
MOV ECX,0x1
MOV EAX,dword ptr [EBP + 0xffffff74]
SUB ESP,0xc
MOV byte ptr [EBP + 0xffffff58],CL
PUSH dword ptr [EAX + 0x4]
CALL 0x0005aa80
ADD ESP,0xc
PUSH 0x5
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBX + 0xfffceac8]
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff60]
ADD ESP,0xc
PUSH EDX
PUSH EAX
PUSH 0x1
CALL 0x0003af00
MOVZX ECX,byte ptr [EBP + 0xffffff58]
ADD ESP,0x10
SUB ESP,0x8
LEA EAX,[EBP + -0x80]
PUSH dword ptr [ESI + 0x20]
PUSH EAX
MOV byte ptr [EBP + 0xffffff60],CL
CALL 0x00043f00
MOVZX ECX,byte ptr [EBP + 0xffffff60]
ADD ESP,0x10
TEST CL,CL
JZ 0x00022822
MOV EAX,dword ptr [EBP + -0x80]
MOV ECX,0x19
TEST EAX,EAX
JNZ 0x00022542
SUB ESP,0xc
PUSH dword ptr [ESI + 0x20]
MOV dword ptr [EBP + 0xffffff60],ECX
CALL 0x00016670
MOV EAX,dword ptr [EBP + 0xffffff68]
MOV EDI,dword ptr [EBP + 0xffffff64]
MOV dword ptr [ESI + 0x20],EAX
POP EAX
POP EDX
PUSH EDI
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00046e10
MOV dword ptr [ESP],EDI
CALL 0x00016670
MOV ECX,dword ptr [EBP + 0xffffff60]
ADD ESP,0x10
MOV EAX,0x4
MOV EDX,0x80400001
BT EDX,EAX
JNC 0x00022618
JMP 0x00022640
SUB ESP,0xc
PUSH EDX
CALL 0x0005aa80
ADD ESP,0xc
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBX + 0xfffce9cc]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff60]
ADD ESP,0xc
PUSH EDX
PUSH EAX
PUSH 0x0
CALL 0x0003af00
MOV EAX,dword ptr [EBP + 0xffffff74]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
CMP EAX,0x1
JZ 0x00022f47
TEST EAX,EAX
JNZ 0x00022e26
SUB ESP,0x8
LEA EAX,[EBP + -0x80]
PUSH dword ptr [ESI + 0x20]
PUSH EAX
CALL 0x00043f00
ADD ESP,0x10
MOV EDI,dword ptr [EBP + -0x80]
MOV byte ptr [EBP + 0xffffff60],0x0
MOV ECX,0x19
TEST EDI,EDI
JZ 0x00022ae0
MOV EDI,dword ptr [EBP + 0xffffff70]
MOV EDX,dword ptr [EBP + 0xffffff74]
CMP byte ptr [EDI + 0x20d],0x0
MOV EAX,dword ptr [EDX + 0x10]
JZ 0x00022870
CMP dword ptr [EDX],0x2
JZ 0x00022b28
CMP EAX,-0x1
JZ 0x00022870
CMP byte ptr [EBP + 0xffffff60],0x0
JNZ 0x00022b40
LEA ESI,[ESI]
CMP EAX,-0x1
JNZ 0x000225c8
SUB ESP,0x4
LEA EAX,[EBX + 0xfffce07d]
MOV EDX,dword ptr [EBP + -0x80]
MOV dword ptr [EBP + 0xffffff58],ECX
PUSH 0x5
PUSH EAX
PUSH 0x0
MOV dword ptr [EBP + 0xffffff60],EDX
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff60]
ADD ESP,0xc
PUSH EDX
PUSH EAX
PUSH 0x1
CALL 0x0003af00
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff58]
JMP 0x000225c8
MOV byte ptr [EBP + 0xffffff60],0x1
JMP 0x00022839
SUB ESP,0x4
LEA EDX,[EBP + -0x7c]
MOV byte ptr [EBP + 0xffffff60],CL
PUSH EDX
PUSH EAX
PUSH 0x3
CALL 0x00016320
ADD ESP,0x10
MOVZX ECX,byte ptr [EBP + 0xffffff60]
TEST EAX,EAX
JNZ 0x000229b3
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EDI,dword ptr [EBP + -0x34]
MOV EAX,dword ptr [EAX + 0x10]
MOV dword ptr [EBP + 0xffffff60],EAX
TEST dword ptr [ESI + 0x14],0xfffffffd
JNZ 0x00022bc8
MOV EAX,dword ptr [EBP + -0x50]
MOV EDX,dword ptr [EBP + -0x4c]
MOV dword ptr [EBP + 0xffffff58],EAX
MOV dword ptr [EBP + 0xffffff5c],EDX
MOV EDX,EAX
MOV EAX,dword ptr [EBP + 0xffffff74]
XOR EDX,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [EBP + 0xffffff5c]
MOV dword ptr [EBP + 0xffffff44],EDX
MOV EDX,dword ptr [EBP + 0xffffff74]
XOR EAX,dword ptr [EDX + 0xc]
MOV EDX,dword ptr [EBP + 0xffffff44]
OR EAX,EDX
JZ 0x00022bc8
MOV EAX,dword ptr [EBP + 0xffffff60]
CMP EDI,EAX
JL 0x00022f4e
SUB ESP,0x8
PUSH dword ptr [EBP + 0xffffff5c]
PUSH dword ptr [EBP + 0xffffff58]
MOV byte ptr [EBP + 0xffffff44],CL
CALL 0x0004d760
ADD ESP,0xc
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBX + 0xfffcea44]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff60]
ADD ESP,0xc
PUSH EDX
PUSH EAX
PUSH 0x0
CALL 0x0003af00
MOVZX ECX,byte ptr [EBP + 0xffffff44]
ADD ESP,0x10
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [EAX]
CMP EAX,0x1
JZ 0x0002269e
TEST EAX,EAX
JZ 0x000224f5
CMP EAX,0x2
JNZ 0x000226dd
MOV EAX,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EAX + 0x91],0x0
JNZ 0x00022f3a
LEA ESI,[ESI]
NOP
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV byte ptr [EBP + 0xffffff60],CL
MOV EDI,dword ptr [EAX + 0x1c]
TEST EDI,EDI
JZ 0x00022cc8
SUB ESP,0x4
LEA EAX,[EBP + -0x7c]
PUSH EAX
PUSH dword ptr [ESI + 0x20]
PUSH 0x3
CALL 0x00016680
ADD ESP,0x10
MOVZX ECX,byte ptr [EBP + 0xffffff60]
TEST EAX,EAX
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [EAX + 0x1c]
JNZ 0x00022a42
MOV EAX,dword ptr [EBP + -0x6c]
AND EAX,0xf000
CMP EAX,0xa000
JZ 0x00022d20
SUB ESP,0xc
MOV byte ptr [EBP + 0xffffff58],CL
PUSH EDX
CALL 0x0005aa80
MOV EDI,EAX
POP EAX
PUSH dword ptr [ESI + 0x20]
CALL 0x0005aa80
ADD ESP,0xc
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBX + 0xfffce03d]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff60]
PUSH EDI
PUSH EDX
PUSH EAX
PUSH 0x0
CALL 0x0003af00
ADD ESP,0x14
PUSH dword ptr [ESI + 0x20]
CALL 0x000168e0
POP EAX
MOV EAX,dword ptr [EBP + 0xffffff74]
POP EDX
PUSH dword ptr [ESI + 0x20]
PUSH dword ptr [EAX + 0x1c]
CALL 0x00016730
ADD ESP,0x10
MOVZX ECX,byte ptr [EBP + 0xffffff58]
CMP EAX,-0x1
JZ 0x00022da8
SUB ESP,0x8
LEA EAX,[EBX + 0xfffd7dbf]
MOV byte ptr [EBP + 0xffffff60],CL
PUSH EAX
PUSH 0x0
CALL 0x0003ace0
ADD ESP,0x10
MOVZX ECX,byte ptr [EBP + 0xffffff60]
JMP 0x00022729
SUB ESP,0xc
PUSH dword ptr [ESI + 0x20]
MOV dword ptr [EBP + 0xffffff60],ECX
CALL 0x00016670
MOV EAX,dword ptr [EBP + 0xffffff68]
MOV EDI,dword ptr [EBP + 0xffffff64]
MOV dword ptr [ESI + 0x20],EAX
POP EAX
POP EDX
PUSH EDI
PUSH dword ptr [EBP + 0xffffff6c]
CALL 0x00046e10
MOV dword ptr [ESP],EDI
CALL 0x00016670
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff60]
JMP 0x00022620
CMP byte ptr [EDI + 0x91],0x0
JZ 0x00022870
JMP 0x0002285a
SUB ESP,0x8
MOV dword ptr [EBP + 0xffffff60],ECX
PUSH 0x0
PUSH dword ptr [ESI + 0x20]
CALL 0x00049d50
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff60]
TEST AL,AL
JNZ 0x00022cf8
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EAX,dword ptr [EAX + 0x10]
JMP 0x00022870
MOV EAX,dword ptr [EBP + 0xffffff70]
MOV ESI,dword ptr [EAX + 0x20]
CMP ESI,-0x1
JZ 0x00022b94
MOV EDX,dword ptr [EBX + 0x2890]
CMP ESI,EDX
JLE 0x00022c78
SUB ESP,0xc
MOV EDX,dword ptr [EBP + 0xffffff50]
MOV ECX,dword ptr [EBP + 0xffffff48]
PUSH EDI
MOV EAX,dword ptr [EBP + 0xffffff6c]
CALL 0x000220d0
MOV EDX,dword ptr [EBX + 0x2890]
ADD ESP,0x10
MOV dword ptr [EBP + 0xffffff74],EAX
JMP 0x0002265e
MOV EAX,EDI
MOV EDI,dword ptr [EBP + 0xffffff60]
MOV EDX,dword ptr [ESI + 0x20]
CMP EAX,EDI
JGE 0x000227c0
SUB ESP,0xc
MOV byte ptr [EBP + 0xffffff58],CL
PUSH EDX
CALL 0x0005aa80
ADD ESP,0xc
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBX + 0xfffcea08]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff60]
ADD ESP,0xc
PUSH EDX
PUSH EAX
PUSH 0x0
CALL 0x0003af00
MOV EAX,dword ptr [EBP + 0xffffff74]
MOVZX ECX,byte ptr [EBP + 0xffffff58]
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
MOV byte ptr [EBP + 0xffffff4f],CL
CMP EAX,0x1
JZ 0x0002269e
JMP 0x000229c4
SUB ESP,0x8
MOV dword ptr [EBP + 0xffffff58],ECX
PUSH EDI
PUSH EAX
CALL 0x00016520
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff58]
TEST EAX,EAX
JNZ 0x00022d73
MOV EAX,dword ptr [EBP + -0x80]
TEST EAX,EAX
JNZ 0x00022839
JMP 0x000225c8
MOV EAX,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EAX + 0x15b],0x0
JZ 0x0002265e
SUB ESP,0x4
LEA EAX,[EBX + 0xfffceb34]
MOV dword ptr [EBP + 0xffffff70],EDX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff70]
ADD ESP,0xc
PUSH ESI
PUSH EDX
PUSH EAX
CALL 0x0003b070
MOV EDX,dword ptr [EBX + 0x2890]
ADD ESP,0x10
JMP 0x0002265e
SUB ESP,0x4
LEA EAX,[EBX + 0xfffcea78]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
POP EDI
POP EDX
PUSH EAX
PUSH 0x1
CALL 0x0003ace0
ADD ESP,0x10
MOVZX ECX,byte ptr [EBP + 0xffffff60]
JMP 0x00022729
MOV EAX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x8
MOV dword ptr [EBP + 0xffffff60],ECX
PUSH dword ptr [EAX + 0x10]
PUSH dword ptr [EBP + -0x80]
CALL 0x00049bc0
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff60]
JMP 0x000225c8
SUB ESP,0xc
PUSH EDX
CALL 0x000168c0
ADD ESP,0x10
LEA EDX,[EAX + 0x1]
MOV EDI,EAX
LEA EAX,[EAX + 0x1c]
AND EAX,0xfffffff0
SUB ESP,EAX
LEA EAX,[ESP + 0xf]
SUB ESP,0x4
AND EAX,0xfffffff0
PUSH EDX
PUSH EAX
PUSH dword ptr [ESI + 0x20]
MOV dword ptr [EBP + 0xffffff58],EAX
CALL 0x00016bc0
ADD ESP,0x10
MOVZX ECX,byte ptr [EBP + 0xffffff60]
CMP EDI,EAX
JZ 0x00022e40
MOV EAX,dword ptr [EBP + 0xffffff74]
MOV EDX,dword ptr [EAX + 0x1c]
JMP 0x00022a42
SUB ESP,0x4
LEA EAX,[EBX + 0xfffceaec]
MOV EDI,dword ptr [EBP + -0x80]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
ADD ESP,0xc
PUSH EDI
PUSH EAX
PUSH 0x1
CALL 0x0003af00
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff58]
JMP 0x00022c61
MOV byte ptr [EBP + 0xffffff60],CL
CALL 0x00016080
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x0006d0d0
ADD ESP,0xc
PUSH EAX
LEA EAX,[EBX + 0xfffce058]
PUSH EAX
PUSH 0x1
CALL 0x0003af00
ADD ESP,0x10
MOVZX ECX,byte ptr [EBP + 0xffffff60]
JMP 0x00022ab6
MOV EDI,dword ptr [EBP + 0xffffff70]
CMP byte ptr [EDI + 0x15b],0x0
JNZ 0x00022eff
MOV dword ptr [EBX + 0x2890],EAX
MOV dword ptr [EBP + 0xffffff74],0x1a
JMP 0x00022667
SUB dword ptr [EBX + 0x2890],0x1
MOV dword ptr [EBP + 0xffffff74],0x2b
JMP 0x00022667
XOR ECX,ECX
CMP EAX,0x2
JZ 0x000229d5
JMP 0x000226dd
MOV EAX,dword ptr [EBP + 0xffffff74]
SUB ESP,0x4
MOV byte ptr [EBP + 0xffffff44],CL
MOV EDX,dword ptr [EAX + 0x1c]
PUSH EDI
PUSH EDX
PUSH dword ptr [EBP + 0xffffff58]
MOV dword ptr [EBP + 0xffffff60],EDX
CALL 0x00016180
ADD ESP,0x10
MOV EDX,dword ptr [EBP + 0xffffff60]
MOVZX ECX,byte ptr [EBP + 0xffffff44]
TEST EAX,EAX
JNZ 0x00022a42
SUB ESP,0xc
PUSH EDX
CALL 0x0005aa80
POP ECX
PUSH dword ptr [ESI + 0x20]
MOV dword ptr [EBP + 0xffffff58],EAX
CALL 0x0005aa80
ADD ESP,0xc
MOV dword ptr [EBP + 0xffffff60],EAX
LEA EAX,[EBX + 0xfffceaa0]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV ECX,dword ptr [EBP + 0xffffff58]
MOV EDX,dword ptr [EBP + 0xffffff60]
PUSH ECX
PUSH EDX
PUSH EAX
PUSH 0x0
CALL 0x0003af00
ADD ESP,0x18
JMP 0x00022813
SUB ESP,0x8
MOV dword ptr [EBP + 0xffffff58],ECX
PUSH EAX
LEA EAX,[EBX + 0xfffceb10]
PUSH EAX
CALL 0x0003b070
ADD ESP,0x10
MOV ECX,dword ptr [EBP + 0xffffff58]
JMP 0x00022c61
MOV dword ptr [EBP + 0xffffff74],0x19
JMP 0x00022648
SUB ESP,0x4
LEA EAX,[EBX + 0xfffce9a0]
MOV dword ptr [EBP + 0xffffff74],EDX
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000166c0
MOV EDX,dword ptr [EBP + 0xffffff74]
ADD ESP,0xc
PUSH EDX
PUSH ESI
PUSH EAX
CALL 0x0003b070
MOV EAX,dword ptr [EBX + 0x2890]
ADD ESP,0x10
SUB EAX,0x1
JMP 0x00022df3
TEST CL,CL
JZ 0x00022810
JMP 0x000224f5
XOR ECX,ECX
JMP 0x0002269e
MOV EDX,dword ptr [ESI + 0x20]
JMP 0x00022bdb
CALL 0x0006da50
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nint * __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}\n\n" comment (function_definition "int * __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}" primitive_type (pointer_declarator "* __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,int *param_3,uint *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "undefined1 uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined1 auStack_cc [12];" type_identifier (array_declarator "auStack_cc [12]" identifier [ number_literal ]) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "int *local_bc;" primitive_type (pointer_declarator "*local_bc" * identifier) ;) (declaration "byte local_b5;" type_identifier identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "uint *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "int *local_ac;" primitive_type (pointer_declarator "*local_ac" * identifier) ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "int *local_a4;" primitive_type (pointer_declarator "*local_a4" * identifier) ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "undefined4 *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "int *local_90;" primitive_type (pointer_declarator "*local_90" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined1 local_80 [16];" type_identifier (array_declarator "local_80 [16]" identifier [ number_literal ]) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2236b;" (assignment_expression "uStack_14 = 0x2236b" identifier = number_literal) ;) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" identifier = identifier) ;) (expression_statement "local_94 = &DAT_000a8a40;" (assignment_expression "local_94 = &DAT_000a8a40" identifier = (pointer_expression "&DAT_000a8a40" & identifier)) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (int *)DAT_000a8a60;" (assignment_expression "local_90 = (int *)DAT_000a8a60" identifier = (cast_expression "(int *)DAT_000a8a60" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);" (assignment_expression "puVar1 = (undefined4 *)((int)DAT_000a3460 + 1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + 1)" ( (binary_expression "(int)DAT_000a3460 + 1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_bc = param_3;" (assignment_expression "local_bc = param_3" identifier = identifier) ;) (expression_statement "local_b4 = param_2;" (assignment_expression "local_b4 = param_2" identifier = identifier) ;) (expression_statement "local_98 = param_1;" (assignment_expression "local_98 = param_1" identifier = identifier) ;) (if_statement "if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" if (parenthesized_expression "(DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60)" ( (binary_expression "DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60" (binary_expression "DAT_000a8a60 == -1" identifier == number_literal) || (binary_expression "(int)puVar1 <= DAT_000a8a60" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier)) )) (compound_statement "{\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }" { (expression_statement "uVar16 = *param_4;" (assignment_expression "uVar16 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "DAT_000a3460 = puVar1;" (assignment_expression "DAT_000a3460 = puVar1" identifier = identifier) ;) (expression_statement "*param_4 = uVar16 & 0xfffffffe;" (assignment_expression "*param_4 = uVar16 & 0xfffffffe" (pointer_expression "*param_4" * identifier) = (binary_expression "uVar16 & 0xfffffffe" identifier & number_literal)) ;) (expression_statement "uVar5 = param_4[1] & 0xfffffffd;" (assignment_expression "uVar5 = param_4[1] & 0xfffffffd" identifier = (binary_expression "param_4[1] & 0xfffffffd" (subscript_expression "param_4[1]" identifier [ number_literal ]) & number_literal)) ;) (if_statement "if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }" if (parenthesized_expression "((uVar16 & 2) == 0)" ( (binary_expression "(uVar16 & 2) == 0" (parenthesized_expression "(uVar16 & 2)" ( (binary_expression "uVar16 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar5 = param_4[1] | 2;\n    }" { (expression_statement "uVar5 = param_4[1] | 2;" (assignment_expression "uVar5 = param_4[1] | 2" identifier = (binary_expression "param_4[1] | 2" (subscript_expression "param_4[1]" identifier [ number_literal ]) | number_literal)) ;) })) (expression_statement "uVar16 = uVar5 & 0xfffffffe | 0x14;" (assignment_expression "uVar16 = uVar5 & 0xfffffffe | 0x14" identifier = (binary_expression "uVar5 & 0xfffffffe | 0x14" (binary_expression "uVar5 & 0xfffffffe" identifier & number_literal) | number_literal)) ;) (if_statement "if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }" if (parenthesized_expression "((int)param_4[2] < 0)" ( (binary_expression "(int)param_4[2] < 0" (cast_expression "(int)param_4[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[2]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n      uVar16 = uVar5 | 0x15;\n    }" { (expression_statement "uVar16 = uVar5 | 0x15;" (assignment_expression "uVar16 = uVar5 | 0x15" identifier = (binary_expression "uVar5 | 0x15" identifier | number_literal)) ;) })) (expression_statement "param_4[1] = uVar16;" (assignment_expression "param_4[1] = uVar16" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }" { (expression_statement "local_90 = (int *)0x19;" (assignment_expression "local_90 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" identifier = identifier) ;) (expression_statement "piVar6 = local_90;" (assignment_expression "piVar6 = local_90" identifier = identifier) ;) }) (else_clause "else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" else (compound_statement "{\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" { (expression_statement "local_b0 = &DAT_000a8c80;" (assignment_expression "local_b0 = &DAT_000a8c80" identifier = (pointer_expression "&DAT_000a8c80" & identifier)) ;) (expression_statement "local_b5 = 0;" (assignment_expression "local_b5 = 0" identifier = number_literal) ;) (expression_statement "local_90 = param_3;" (assignment_expression "local_90 = param_3" identifier = identifier) ;) (do_statement "do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);" do (compound_statement "{\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      }" { (expression_statement "iVar10 = local_98;" (assignment_expression "iVar10 = local_98" identifier = identifier) ;) (expression_statement "iVar8 = local_94[0x55];" (assignment_expression "iVar8 = local_94[0x55]" identifier = (subscript_expression "local_94[0x55]" identifier [ number_literal ])) ;) (if_statement "if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }" if (parenthesized_expression "((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0))" ( (binary_expression "(iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)" (parenthesized_expression "(iVar8 != 0 || local_94[0x54] != 0)" ( (binary_expression "iVar8 != 0 || local_94[0x54] != 0" (binary_expression "iVar8 != 0" identifier != number_literal) || (binary_expression "local_94[0x54] != 0" (subscript_expression "local_94[0x54]" identifier [ number_literal ]) != number_literal)) )) && (parenthesized_expression "(uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)" ( (comma_expression "uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (assignment_expression "uVar16 = (uint)((uint)local_94[0x54] < *local_b0)" identifier = (call_expression "(uint)((uint)local_94[0x54] < *local_b0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_94[0x54] < *local_b0)" ( (binary_expression "(uint)local_94[0x54] < *local_b0" (cast_expression "(uint)local_94[0x54]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0x54]" identifier [ number_literal ])) < (pointer_expression "*local_b0" * identifier)) )))) , (comma_expression "iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (assignment_expression "iVar2 = iVar8 - local_b0[1]" identifier = (binary_expression "iVar8 - local_b0[1]" identifier - (subscript_expression "local_b0[1]" identifier [ number_literal ]))) , (binary_expression "(SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (parenthesized_expression "(SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16))" ( (binary_expression "SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)" (call_expression "SBORROW4(iVar8,local_b0[1])" identifier (argument_list "(iVar8,local_b0[1])" ( identifier , (subscript_expression "local_b0[1]" identifier [ number_literal ]) ))) != (call_expression "SBORROW4(iVar2,uVar16)" identifier (argument_list "(iVar2,uVar16)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar2 - uVar16) < 0" (cast_expression "(int)(iVar2 - uVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar2 - uVar16)" ( (binary_expression "iVar2 - uVar16" identifier - identifier) ))) < number_literal)))) ))) )) (compound_statement "{\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }" { (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + -1)" ( (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_90 = (int *)0x2b;" (assignment_expression "local_90 = (int *)0x2b" identifier = (cast_expression "(int *)0x2b" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00022667;" goto statement_identifier ;) })) (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24)" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(local_98 + 0x24)" * (cast_expression "(undefined4 *)(local_98 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "local_9c = uVar16;" (assignment_expression "local_9c = uVar16" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2247b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2247b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a0 = FUN_0005af70();" (assignment_expression "local_a0 = FUN_0005af70()" identifier = (call_expression "FUN_0005af70()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_90[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar10;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar10" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22492;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22492" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar10;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar10" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2249c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2249c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar16 = FUN_00045130();" (assignment_expression "uVar16 = FUN_00045130()" identifier = (call_expression "FUN_00045130()" identifier (argument_list "()" ( )))) ;) (expression_statement "param_4[8] = uVar16;" (assignment_expression "param_4[8] = uVar16" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" if (parenthesized_expression "(*(char *)(local_94 + 0x57) == '\0')" ( (binary_expression "*(char *)(local_94 + 0x57) == '\0'" (pointer_expression "*(char *)(local_94 + 0x57)" * (cast_expression "(char *)(local_94 + 0x57)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x57)" ( (binary_expression "local_94 + 0x57" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }" { (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (if_statement "if (iVar8 != 1) goto LAB_000224d0;" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (goto_statement "goto LAB_000224d0;" goto statement_identifier ;)) (labeled_statement "LAB_00022699:\n          bVar14 = 1;" statement_identifier : (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" statement_identifier : (if_statement "if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x16) == '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x16) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x16)" * (cast_expression "(char *)((int)local_94 + 0x16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x16)" ( (binary_expression "(int)local_94 + 0x16" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" { (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,bVar14)" identifier (argument_list "(local_ac._1_3_,bVar14)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0x10) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_90[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x226c1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x226c1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar7 = "Skipping directory %s.\n";" (assignment_expression "pcVar7 = "Skipping directory %s.\n"" identifier = (string_literal ""Skipping directory %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;" statement_identifier : (expression_statement "*(char **)(puVar17 + -0xc) = pcVar7;" (assignment_expression "*(char **)(puVar17 + -0xc) = pcVar7" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2270d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2270d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2271f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2271f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar14 = (byte)local_ac;" (assignment_expression "bVar14 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];" statement_identifier : (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;)) (expression_statement "*(int **)(puVar17 + -0x10) = &local_84;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_84" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2273e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2273e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }" if (parenthesized_expression "((byte)local_a4 != '\0')" ( (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }" { (expression_statement "piVar6 = (int *)0x19;" (assignment_expression "piVar6 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_84 != 0) goto LAB_00022542;" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00022542;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = (int *)0x19;" (assignment_expression "local_a4 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22771;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22771" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" identifier = identifier) ;) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2278e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2278e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22796;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22796" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_000227a4;" goto statement_identifier ;) })) (labeled_statement "LAB_00022822:\n          local_a4._0_1_ = '\0';" statement_identifier : (expression_statement "local_a4._0_1_ = '\0';" (assignment_expression "local_a4._0_1_ = '\0'" (field_expression "local_a4._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "piVar6 = (int *)0x19;" (assignment_expression "piVar6 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_84 != 0) goto LAB_00022839;" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00022839;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = (int *)0x19;" (assignment_expression "local_a4 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22af1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22af1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" identifier = identifier) ;) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b0e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b0e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b16;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b16" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" else (compound_statement "{\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" { (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (if_statement "if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }" { (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" identifier (argument_list "(local_a4._1_3_,*(char *)(local_94 + 0x57))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(char *)(local_94 + 0x57)" * (cast_expression "(char *)(local_94 + 0x57)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x57)" ( (binary_expression "local_94 + 0x57" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined1 **)(puVar17 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar17 + -8)" * (cast_expression "(undefined1 **)(puVar17 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0xc) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x228e5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x228e5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));" (assignment_expression "iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" identifier = (call_expression "__xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" identifier (argument_list "(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" ( (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(stat64 **)(puVar17 + -8)" * (cast_expression "(stat64 **)(puVar17 + -8)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }" { (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = (int *)iVar8;" (assignment_expression "local_a4 = (int *)iVar8" identifier = (cast_expression "(int *)iVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" if (parenthesized_expression "((param_4[5] & 0xfffffffd) == 0)" ( (binary_expression "(param_4[5] & 0xfffffffd) == 0" (parenthesized_expression "(param_4[5] & 0xfffffffd)" ( (binary_expression "param_4[5] & 0xfffffffd" (subscript_expression "param_4[5]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" { (expression_statement "local_ac = local_54;" (assignment_expression "local_ac = local_54" identifier = identifier) ;) (expression_statement "local_a8 = local_50;" (assignment_expression "local_a8 = local_50" identifier = identifier) ;) (expression_statement "local_c0 = (uint)local_54 ^ local_90[2];" (assignment_expression "local_c0 = (uint)local_54 ^ local_90[2]" identifier = (binary_expression "(uint)local_54 ^ local_90[2]" (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) ^ (subscript_expression "local_90[2]" identifier [ number_literal ]))) ;) (if_statement "if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;" if (parenthesized_expression "(local_50 == local_90[3] && local_c0 == 0)" ( (binary_expression "local_50 == local_90[3] && local_c0 == 0" (binary_expression "local_50 == local_90[3]" identifier == (subscript_expression "local_90[3]" identifier [ number_literal ])) && (binary_expression "local_c0 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00022bc8;" goto statement_identifier ;)) (if_statement "if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }" if (parenthesized_expression "(iVar8 <= local_38)" ( (binary_expression "iVar8 <= local_38" identifier <= identifier) )) (compound_statement "{\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }" { (expression_statement "*(int *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_50" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = local_ac;" (assignment_expression "*(int **)(puVar17 + -0x10) = local_ac" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,bVar14);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,bVar14)" identifier = (call_expression "CONCAT31(local_c0._1_3_,bVar14)" identifier (argument_list "(local_c0._1_3_,bVar14)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2297e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2297e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0004d760();" (assignment_expression "local_a4 = (int *)FUN_0004d760()" identifier = (cast_expression "(int *)FUN_0004d760()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004d760()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""The sizes do not match (local %s) -- retrieving.\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22997;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22997" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x229a9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x229a9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar14 = (byte)local_c0;" (assignment_expression "bVar14 = (byte)local_c0" identifier = (cast_expression "(byte)local_c0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_000229b3;" goto statement_identifier ;) })) (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);" statement_identifier : (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,(byte)local_a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,(byte)local_a4)" identifier (argument_list "(local_ac._1_3_,(byte)local_a4)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22bea;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22bea" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Remote file is newer than local file %s -- retrieving.\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c03;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c03" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c15;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c15" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (expression_statement "local_b5 = (byte)local_ac;" (assignment_expression "local_b5 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "bVar14 = (byte)local_ac;" (assignment_expression "bVar14 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto joined_r0x00022c30;" goto statement_identifier ;) })) (labeled_statement "LAB_00022bc8:\n              uVar16 = param_4[8];" statement_identifier : (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;)) (if_statement "if (local_38 < iVar8) goto LAB_00022bdb;" if (parenthesized_expression "(local_38 < iVar8)" ( (binary_expression "local_38 < iVar8" identifier < identifier) )) (goto_statement "goto LAB_00022bdb;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227c9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227c9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Remote file no newer than local file %s -- not retrieving.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227e2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227e2" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227f4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227f4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (if_statement "if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }" { (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002269e;" goto statement_identifier ;) })) (if_statement "if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }" { (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (goto_statement "goto joined_r0x00022e2b;" goto statement_identifier ;) })) (labeled_statement "LAB_00022810:\n              puVar19 = puVar17 + -8;" statement_identifier : (expression_statement "puVar19 = puVar17 + -8;" (assignment_expression "puVar19 = puVar17 + -8" identifier = (binary_expression "puVar17 + -8" identifier + number_literal)) ;)) (labeled_statement "LAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];" statement_identifier : (expression_statement "*(uint *)(puVar19 + -4) = param_4[8];" (assignment_expression "*(uint *)(puVar19 + -4) = param_4[8]" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;)) (expression_statement "*(int **)(puVar19 + -8) = &local_84;" (assignment_expression "*(int **)(puVar19 + -8) = &local_84" (pointer_expression "*(int **)(puVar19 + -8)" * (cast_expression "(int **)(puVar19 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x2281f;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x2281f" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = puVar19 + 8;" (assignment_expression "puVar17 = puVar19 + 8" identifier = (binary_expression "puVar19 + 8" identifier + number_literal)) ;) (goto_statement "goto LAB_00022822;" goto statement_identifier ;) })) (labeled_statement "LAB_000229b3:\n            iVar8 = *local_90;" statement_identifier : (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;)) (labeled_statement "joined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;" statement_identifier : (if_statement "if (iVar8 == 1) goto LAB_0002269e;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002269e;" goto statement_identifier ;))) (if_statement "if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }" { (labeled_statement "joined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;" statement_identifier : (if_statement "if (iVar8 != 2) goto LAB_000226dd;" if (parenthesized_expression "(iVar8 != 2)" ( (binary_expression "iVar8 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000226dd;" goto statement_identifier ;))) (if_statement "if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;" if (parenthesized_expression "(*(char *)((int)local_94 + 0x91) == '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x91) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x91)" * (cast_expression "(char *)((int)local_94 + 0x91)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x91)" ( (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000229f0;" goto statement_identifier ;)) (if_statement "if (bVar14 == 0) goto LAB_00022810;" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00022810;" goto statement_identifier ;)) })) }) (else_clause "else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" else (compound_statement "{\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" { (if_statement "if (iVar8 == 1) goto LAB_00022699;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00022699;" goto statement_identifier ;)) (labeled_statement "LAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" statement_identifier : (if_statement "if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" { (if_statement "if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }" if (parenthesized_expression "(iVar8 != 2)" ( (binary_expression "iVar8 != 2" identifier != number_literal) )) (compound_statement "{\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }" { (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" statement_identifier : (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,bVar14)" identifier (argument_list "(local_ac._1_3_,bVar14)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;)) (expression_statement "*(int *)(puVar17 + -0x10) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0x10) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_90[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x226f4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x226f4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = (int *)FUN_0005aa80();" (assignment_expression "piVar6 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar7 = "%s: unknown/unsupported file type.\n";" (assignment_expression "pcVar7 = "%s: unknown/unsupported file type.\n"" identifier = (string_literal ""%s: unknown/unsupported file type.\n"" " string_content escape_sequence ")) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (goto_statement "goto LAB_00022705;" goto statement_identifier ;) })) (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" identifier = number_literal) ;) (if_statement "if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;" if (parenthesized_expression "(*(char *)((int)local_94 + 0x91) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x91) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x91)" * (cast_expression "(char *)((int)local_94 + 0x91)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x91)" ( (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000224f5;" goto statement_identifier ;)) (labeled_statement "LAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" statement_identifier : (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;)) (if_statement "if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" if (parenthesized_expression "(local_90[7] == 0)" ( (binary_expression "local_90[7] == 0" (subscript_expression "local_90[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Invalid name of the symlink, skipping.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22cdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22cdb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ce5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ce5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003ace0();" (call_expression "FUN_0003ace0()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }) (else_clause "else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" else (compound_statement "{\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" { (expression_statement "*(undefined1 **)(puVar17 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar17 + -8)" * (cast_expression "(undefined1 **)(puVar17 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22a18;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22a18" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));" (assignment_expression "iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" identifier = (call_expression "__lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" identifier (argument_list "(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" ( (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(stat64 **)(puVar17 + -8)" * (cast_expression "(stat64 **)(puVar17 + -8)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" identifier = (cast_expression "(int *)local_90[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" identifier = identifier) ;) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }" if (parenthesized_expression "((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000))" ( (binary_expression "(iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "((local_70 & 0xf000) == 0xa000)" ( (binary_expression "(local_70 & 0xf000) == 0xa000" (parenthesized_expression "(local_70 & 0xf000)" ( (binary_expression "local_70 & 0xf000" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }" { (expression_statement "*(int **)(puVar17 + -0x10) = piVar6;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar6" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d29;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d29" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar12 = strlen(*(char **)(puVar17 + -0x10));" (assignment_expression "sVar12 = strlen(*(char **)(puVar17 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar17 + -0x10))" identifier (argument_list "(*(char **)(puVar17 + -0x10))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar8 = -(sVar12 + 0x1c & 0xfffffff0);" (assignment_expression "iVar8 = -(sVar12 + 0x1c & 0xfffffff0)" identifier = (unary_expression "-(sVar12 + 0x1c & 0xfffffff0)" - (parenthesized_expression "(sVar12 + 0x1c & 0xfffffff0)" ( (binary_expression "sVar12 + 0x1c & 0xfffffff0" (binary_expression "sVar12 + 0x1c" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar18 = puVar17 + iVar8;" (assignment_expression "puVar18 = puVar17 + iVar8" identifier = (binary_expression "puVar17 + iVar8" identifier + identifier)) ;) (expression_statement "*(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;" (assignment_expression "*(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1" (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (binary_expression "sVar12 + 1" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);" (assignment_expression "*(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (pointer_expression "*(int **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(int **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (cast_expression "(int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (binary_expression "(uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0" (call_expression "(uint)(puVar17 + iVar8 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + iVar8 + 0xf)" ( (binary_expression "puVar17 + iVar8 + 0xf" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) ))) & number_literal) )))) ;) (expression_statement "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + iVar8 + -0x10)" * (cast_expression "(uint *)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);" (assignment_expression "local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" identifier = (cast_expression "(int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (binary_expression "(uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0" (call_expression "(uint)(puVar17 + iVar8 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + iVar8 + 0xf)" ( (binary_expression "puVar17 + iVar8 + 0xf" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) ))) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));" (assignment_expression "sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier = (call_expression "readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier (argument_list "(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" ( (pointer_expression "*(char **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(char **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(char **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) )))) ;) (if_statement "if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" if (parenthesized_expression "(sVar12 == sVar13)" ( (binary_expression "sVar12 == sVar13" identifier == identifier) )) (compound_statement "{\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }" { (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4)" identifier = (call_expression "CONCAT31(local_c0._1_3_,(byte)local_a4)" identifier (argument_list "(local_c0._1_3_,(byte)local_a4)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) )))) ;) (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" identifier = (cast_expression "(int *)local_90[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[7]" identifier [ number_literal ]))) ;) (expression_statement "*(size_t *)(puVar17 + iVar8 + -8) = sVar12;" (assignment_expression "*(size_t *)(puVar17 + iVar8 + -8) = sVar12" (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0xc) = piVar6;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0xc) = piVar6" (pointer_expression "*(int **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(int **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0x10) = local_ac;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x10) = local_ac" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));" (assignment_expression "iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier = (call_expression "memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier (argument_list "(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" ( (pointer_expression "*(void **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(void **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(void **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(void **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) )))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "uVar15 = (byte)local_c0;" (assignment_expression "uVar15 = (byte)local_c0" identifier = (cast_expression "(byte)local_c0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }" { (expression_statement "*(int **)(puVar17 + iVar8 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = (int *)FUN_0005aa80();" (assignment_expression "piVar6 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + iVar8 + -0x10)" * (cast_expression "(uint *)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -8)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";" (assignment_expression "*(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n"" (pointer_expression "*(char **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(char **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (string_literal ""Already have correct symlink %s -> %s\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0x14) = local_ac;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x14) = local_ac" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x14)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0x18) = piVar6;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x18) = piVar6" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x18)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x18)" ( (binary_expression "puVar17 + iVar8 + -0x18" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x1c)" ( (binary_expression "puVar17 + iVar8 + -0x1c" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x20)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x20)" ( (binary_expression "puVar17 + iVar8 + -0x20" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x24)" ( (binary_expression "puVar17 + iVar8 + -0x24" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar19 = puVar17 + iVar8 + -8;" (assignment_expression "puVar19 = puVar17 + iVar8 + -8" identifier = (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_00022813;" goto statement_identifier ;) })) }) (else_clause "else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" else (compound_statement "{\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" { (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" identifier = (cast_expression "(int *)local_90[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar18 = puVar17 + iVar8;" (assignment_expression "puVar18 = puVar17 + iVar8" identifier = (binary_expression "puVar17 + iVar8" identifier + identifier)) ;) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) })) (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,uVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,uVar15)" identifier (argument_list "(local_ac._1_3_,uVar15)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(int **)(puVar18 + -0x10) = piVar6;" (assignment_expression "*(int **)(puVar18 + -0x10) = piVar6" (pointer_expression "*(int **)(puVar18 + -0x10)" * (cast_expression "(int **)(puVar18 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a51;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a51" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = FUN_0005aa80();" (assignment_expression "uVar11 = FUN_0005aa80()" identifier = (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar18 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0x10)" * (cast_expression "(uint *)(puVar18 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a5c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a5c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""Creating symlink %s -> %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a75;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a75" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar18 + -0x18) = piVar6;" (assignment_expression "*(int **)(puVar18 + -0x18) = piVar6" (pointer_expression "*(int **)(puVar18 + -0x18)" * (cast_expression "(int **)(puVar18 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x1c) = uVar9;" (assignment_expression "*(undefined4 *)(puVar18 + -0x1c) = uVar9" (pointer_expression "*(undefined4 *)(puVar18 + -0x1c)" * (cast_expression "(undefined4 *)(puVar18 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x24) = 0x22a85;" (assignment_expression "*(undefined4 *)(puVar18 + -0x24) = 0x22a85" (pointer_expression "*(undefined4 *)(puVar18 + -0x24)" * (cast_expression "(undefined4 *)(puVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(uint *)(puVar18 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0x10)" * (cast_expression "(uint *)(puVar18 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a90;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a90" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar18 + -0x10));" (call_expression "unlink(*(char **)(puVar18 + -0x10))" identifier (argument_list "(*(char **)(puVar18 + -0x10))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar6 = local_90;" (assignment_expression "piVar6 = local_90" identifier = identifier) ;) (expression_statement "*(uint *)(puVar18 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0xc)" * (cast_expression "(uint *)(puVar18 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar18 + -0x10) = piVar6[7];" (assignment_expression "*(int *)(puVar18 + -0x10) = piVar6[7]" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar6[7]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22aa3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22aa3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier = (call_expression "symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "uVar15 = (byte)local_ac;" (assignment_expression "uVar15 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }" if (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) (compound_statement "{\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }" { (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,(byte)local_ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,(byte)local_ac)" identifier (argument_list "(local_a4._1_3_,(byte)local_ac)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = 0x22db3;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = 0x22db3" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar18 + -0x10) = *piVar6;" (assignment_expression "*(int *)(puVar18 + -0x10) = *piVar6" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22dbd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22dbd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = FUN_0006d0d0();" (assignment_expression "uVar11 = FUN_0006d0d0()" identifier = (call_expression "FUN_0006d0d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "symlink: %s\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "symlink: %s\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""symlink: %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22dcf;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22dcf" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) })) (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,uVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,uVar15)" identifier (argument_list "(local_a4._1_3_,uVar15)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22acd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22acd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003ace0();" (call_expression "FUN_0003ace0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" identifier = identifier) ;) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) (goto_statement "goto LAB_00022729;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;" statement_identifier : (expression_statement "*(uint *)(puVar17 + -8) = (uint)local_b5;" (assignment_expression "*(uint *)(puVar17 + -8) = (uint)local_b5" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (cast_expression "(uint)local_b5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint **)(puVar17 + -0x10) = param_4;" (assignment_expression "*(uint **)(puVar17 + -0x10) = param_4" (pointer_expression "*(uint **)(puVar17 + -0x10)" * (cast_expression "(uint **)(puVar17 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2251a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2251a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = (int *)FUN_00020e70();" (assignment_expression "piVar6 = (int *)FUN_00020e70()" identifier = (cast_expression "(int *)FUN_00020e70()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00020e70()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = &local_84;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_84" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2252e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2252e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (if_statement "if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }" { (labeled_statement "LAB_00022542:\n            iVar8 = local_84;" statement_identifier : (expression_statement "iVar8 = local_84;" (assignment_expression "iVar8 = local_84" identifier = identifier) ;)) (expression_statement "local_ac = local_90;" (assignment_expression "local_ac = local_90" identifier = identifier) ;) (if_statement "if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" if (parenthesized_expression "(*local_90 == 0)" ( (binary_expression "*local_90 == 0" (pointer_expression "*local_90" * identifier) == number_literal) )) (compound_statement "{\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }" { (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" identifier (argument_list "(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(char *)((int)local_94 + 0x1f9)" * (cast_expression "(char *)((int)local_94 + 0x1f9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x1f9)" ( (binary_expression "(int)local_94 + 0x1f9" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x1f9) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x1f9) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x1f9)" * (cast_expression "(char *)((int)local_94 + 0x1f9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x1f9)" ( (binary_expression "(int)local_94 + 0x1f9" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" { (if_statement "if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" if (parenthesized_expression "(local_90[6] == 0)" ( (binary_expression "local_90[6] == 0" (subscript_expression "local_90[6]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }" { (if_statement "if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;" if (parenthesized_expression "(*(char *)((int)local_94 + 0x15b) == '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x15b) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x15b)" * (cast_expression "(char *)((int)local_94 + 0x15b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x15b)" ( (binary_expression "(int)local_94 + 0x15b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022593;" goto statement_identifier ;)) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_84;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_84" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";" (assignment_expression "*(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n"" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (string_literal ""Unrecognized permissions for %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ee2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ee2" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003b070();" (call_expression "FUN_0003b070()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" else (compound_statement "{\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" { (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_90[6];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[6]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_90[6]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar8" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c50;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c50" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));" (assignment_expression "iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" identifier = (call_expression "chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__mode_t *)(puVar17 + -0xc)" * (cast_expression "(__mode_t *)(puVar17 + -0xc)" ( (type_descriptor "__mode_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "iVar8 = local_84;" (assignment_expression "iVar8 = local_84" identifier = identifier) ;) (if_statement "if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Failed to set permissions for %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d89;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d89" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar8;" (assignment_expression "*(int *)(puVar17 + -8) = iVar8" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d95;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d95" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (if_statement "if (local_84 == 0) goto LAB_000225c8;" if (parenthesized_expression "(local_84 == 0)" ( (binary_expression "local_84 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000225c8;" goto statement_identifier ;)) (goto_statement "goto LAB_00022839;" goto statement_identifier ;) })) (labeled_statement "LAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);" statement_identifier : (expression_statement "local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);" (assignment_expression "local_a4._0_1_ = *(char *)((int)local_94 + 0x20d)" (field_expression "local_a4._0_1_" identifier . field_identifier) = (pointer_expression "*(char *)((int)local_94 + 0x20d)" * (cast_expression "(char *)((int)local_94 + 0x20d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x20d)" ( (binary_expression "(int)local_94 + 0x20d" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "cVar4 = (byte)local_a4;" (assignment_expression "cVar4 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (labeled_statement "joined_r0x00022b2f:\n              piVar3 = local_ac;" statement_identifier : (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;)) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) (if_statement "if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }" { (labeled_statement "LAB_0002285a:\n                piVar3 = local_ac;" statement_identifier : (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;)) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) (if_statement "if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }" if (parenthesized_expression "((iVar8 != -1) && ((byte)local_a4 != '\0'))" ( (binary_expression "(iVar8 != -1) && ((byte)local_a4 != '\0')" (parenthesized_expression "(iVar8 != -1)" ( (binary_expression "iVar8 != -1" identifier != number_literal) )) && (parenthesized_expression "((byte)local_a4 != '\0')" ( (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }" { (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b53;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b53" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar4 = FUN_00049d50();" (assignment_expression "cVar4 = FUN_00049d50()" identifier = (call_expression "FUN_00049d50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }" { (expression_statement "*(int *)(puVar17 + -0xc) = local_90[4];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[4]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_84;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_84" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d12;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d12" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00049bc0();" (call_expression "FUN_00049bc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (goto_statement "goto LAB_000225c8;" goto statement_identifier ;) })) (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) })) })) }) (else_clause "else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" else (compound_statement "{\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" { (expression_statement "local_a4._0_1_ = '\x01';" (assignment_expression "local_a4._0_1_ = '\x01'" (field_expression "local_a4._0_1_" identifier . field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_00022839:\n              iVar8 = local_90[4];" statement_identifier : (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;)) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) (if_statement "if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x20d) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x20d) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x20d)" * (cast_expression "(char *)((int)local_94 + 0x20d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x20d)" ( (binary_expression "(int)local_94 + 0x20d" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" { (if_statement "if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }" if (parenthesized_expression "(*local_90 == 2)" ( (binary_expression "*local_90 == 2" (pointer_expression "*local_90" * identifier) == number_literal) )) (compound_statement "{\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }" { (expression_statement "cVar4 = *(char *)((int)local_94 + 0x91);" (assignment_expression "cVar4 = *(char *)((int)local_94 + 0x91)" identifier = (pointer_expression "*(char *)((int)local_94 + 0x91)" * (cast_expression "(char *)((int)local_94 + 0x91)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x91)" ( (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto joined_r0x00022b2f;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002285a;" goto statement_identifier ;) })) }))) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" identifier = identifier) ;) (expression_statement "local_84 = iVar10;" (assignment_expression "local_84 = iVar10" identifier = identifier) ;) (if_statement "if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }" if (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: corrupt time-stamp.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)iVar10;" (assignment_expression "local_a4 = (int *)iVar10" identifier = (cast_expression "(int *)iVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2289b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2289b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x228ad;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x228ad" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) })) })) (labeled_statement "LAB_000225c8:\n          local_ac = piVar3;" statement_identifier : (expression_statement "local_ac = piVar3;" (assignment_expression "local_ac = piVar3" identifier = identifier) ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225d9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225d9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" identifier = identifier) ;) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225f6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225f6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225fe;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225fe" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (if_statement "if (local_a4 == (int *)0x1) break;" if (parenthesized_expression "(local_a4 == (int *)0x1)" ( (binary_expression "local_a4 == (int *)0x1" identifier == (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar16 = (int)local_a4 - 0x15;" (assignment_expression "uVar16 = (int)local_a4 - 0x15" identifier = (binary_expression "(int)local_a4 - 0x15" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) ;) (if_statement "if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }" if (parenthesized_expression "(uVar16 < 0x20)" ( (binary_expression "uVar16 < 0x20" identifier < number_literal) )) (compound_statement "{\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }" { (labeled_statement "LAB_000227a4:\n            piVar6 = local_a4;" statement_identifier : (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;)) (if_statement "if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;" if (parenthesized_expression "((0x80400001U >> (uVar16 & 0x1f) & 1) != 0)" ( (binary_expression "(0x80400001U >> (uVar16 & 0x1f) & 1) != 0" (parenthesized_expression "(0x80400001U >> (uVar16 & 0x1f) & 1)" ( (binary_expression "0x80400001U >> (uVar16 & 0x1f) & 1" (binary_expression "0x80400001U >> (uVar16 & 0x1f)" number_literal >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (if_statement "if ((int)local_a4 - 0x35U < 2) break;" if (parenthesized_expression "((int)local_a4 - 0x35U < 2)" ( (binary_expression "(int)local_a4 - 0x35U < 2" (binary_expression "(int)local_a4 - 0x35U" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal) )) (break_statement "break;" break ;)) }))) (expression_statement "param_4[1] = param_4[1] & 0xfffffffc;" (assignment_expression "param_4[1] = param_4[1] & 0xfffffffc" (subscript_expression "param_4[1]" identifier [ number_literal ]) = (binary_expression "param_4[1] & 0xfffffffc" (subscript_expression "param_4[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_90 = (int *)local_90[9];" (assignment_expression "local_90 = (int *)local_90[9]" identifier = (cast_expression "(int *)local_90[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[9]" identifier [ number_literal ]))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) }) while (parenthesized_expression "(local_90 != (int *)0x0)" ( (binary_expression "local_90 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "local_90 = piVar6;" (assignment_expression "local_90 = piVar6" identifier = identifier) ;) (if_statement "if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x16) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x16) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x16)" * (cast_expression "(char *)((int)local_94 + 0x16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x16)" ( (binary_expression "(int)local_94 + 0x16" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }" { (expression_statement "iVar8 = local_94[8];" (assignment_expression "iVar8 = local_94[8]" identifier = (subscript_expression "local_94[8]" identifier [ number_literal ])) ;) (if_statement "if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" if (parenthesized_expression "((iVar8 == -1) || ((int)DAT_000a3460 < iVar8))" ( (binary_expression "(iVar8 == -1) || ((int)DAT_000a3460 < iVar8)" (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) || (parenthesized_expression "((int)DAT_000a3460 < iVar8)" ( (binary_expression "(int)DAT_000a3460 < iVar8" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (compound_statement "{\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }" { (expression_statement "*(uint **)(puVar17 + -0x10) = param_4;" (assignment_expression "*(uint **)(puVar17 + -0x10) = param_4" (pointer_expression "*(uint **)(puVar17 + -0x10)" * (cast_expression "(uint **)(puVar17 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22baf;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22baf" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_90 = (int *)FUN_000220d0();" (assignment_expression "local_90 = (int *)FUN_000220d0()" identifier = (cast_expression "(int *)FUN_000220d0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000220d0()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" else (if_statement "if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x15b) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x15b) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x15b)" * (cast_expression "(char *)((int)local_94 + 0x15b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x15b)" ( (binary_expression "(int)local_94 + 0x15b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" { (expression_statement "local_94 = DAT_000a3460;" (assignment_expression "local_94 = DAT_000a3460" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Will not retrieve dirs since depth is %d (max %d).\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ca4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ca4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar1 = local_94;" (assignment_expression "puVar1 = local_94" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar8;" (assignment_expression "*(int *)(puVar17 + -8) = iVar8" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar17 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)(puVar17 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)(puVar17 + -0xc)" * (cast_expression "(undefined4 **)(puVar17 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22cb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22cb5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003b070();" (call_expression "FUN_0003b070()" identifier (argument_list "()" ( ))) ;) })))) })) (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + -1)" ( (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" else (compound_statement "{\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" { (if_statement "if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }" if (parenthesized_expression "(DAT_000a8b9b != '\0')" ( (binary_expression "DAT_000a8b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }" { (expression_statement "DAT_000a3460 = puVar1;" (assignment_expression "DAT_000a3460 = puVar1" identifier = identifier) ;) (expression_statement "uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" identifier = (call_expression "dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" identifier (argument_list "(0,"Recursion depth %d exceeded max. depth %d.\n",5)" ( number_literal , (string_literal ""Recursion depth %d exceeded max. depth %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0003b070(uVar11,puVar1,local_90);" (call_expression "FUN_0003b070(uVar11,puVar1,local_90)" identifier (argument_list "(uVar11,puVar1,local_90)" ( identifier , identifier , identifier ))) ;) (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + -1)" ( (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" identifier = identifier) ;) (expression_statement "local_90 = (int *)0x1a;" (assignment_expression "local_90 = (int *)0x1a" identifier = (cast_expression "(int *)0x1a" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_90;\n  }" { (return_statement "return local_90;" return identifier ;) }))) comment (expression_statement "*(undefined **)(puVar17 + -4) = &UNK_00022f5b;" (assignment_expression "*(undefined **)(puVar17 + -4) = &UNK_00022f5b" (pointer_expression "*(undefined **)(puVar17 + -4)" * (cast_expression "(undefined **)(puVar17 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00022f5b" & identifier)) ;) (expression_statement "FUN_0006da50();" (call_expression "FUN_0006da50()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nuerr_t __regparm3 ftp_retrieve_list(url *u,url *original_url,fileinfo *f,ccon *con)\n\n{\n  fileinfo **ppfVar1;\n  int iVar2;\n  char cVar3;\n  url *puVar4;\n  byte bVar5;\n  url *puVar6;\n  options *poVar7;\n  fileinfo *pfVar8;\n  _Bool _Var9;\n  uint uVar10;\n  char *pcVar11;\n  fileinfo *pfVar12;\n  undefined1 *puVar13;\n  int iVar14;\n  undefined4 uVar15;\n  size_t sVar16;\n  size_t sVar17;\n  int *piVar18;\n  int iVar19;\n  undefined1 uVar20;\n  uint uVar21;\n  ftype fVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uerr_t local_c0;\n  fileinfo *local_bc;\n  byte local_b5;\n  url *local_b4;\n  uint *local_b0;\n  fileinfo *local_ac;\n  int local_a8;\n  fileinfo *local_a4;\n  char *local_a0;\n  char *local_9c;\n  url *local_98;\n  options *local_94;\n  fileinfo *local_90;\n  char *actual_target;\n  stat st;\n  \n  puVar13 = auStack_cc;\n  puVar23 = auStack_cc;\n  local_b4 = original_url;\n  local_bc = f;\n  local_98 = u;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  actual_target = (char *)0x0;\n  local_94 = &opt;\n  local_90 = (fileinfo *)opt.reclevel;\n  iVar14 = ftp_retrieve_list::depth + 1;\n  if (opt.reclevel == -1 || iVar14 <= opt.reclevel) {\n    uVar21 = con->st;\n    ftp_retrieve_list::depth = iVar14;\n    con->st = uVar21 & 0xfffffffe;\n    uVar10 = con->cmd & 0xfffffffd;\n    if ((uVar21 & 2) == 0) {\n      uVar10 = con->cmd | 2;\n    }\n    uVar21 = uVar10 & 0xfffffffe | 0x14;\n    if (con->csock < 0) {\n      uVar21 = uVar10 | 0x15;\n    }\n    con->cmd = uVar21;\n    if (f == (fileinfo *)0x0) {\n      local_90 = (fileinfo *)0x19;\n    }\n    else {\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }\n    puVar4 = local_b4;\n    pfVar12 = local_bc;\n    if (local_94->recursive != false) {\n      iVar14 = local_94->reclevel;\n      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }\n    }\n    ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    puVar23 = puVar13;\n  }\n  else {\n    if (opt.debug) {\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }\n    puVar23 = auStack_cc;\n    local_90 = (fileinfo *)0x1a;\n  }\nLAB_00022667:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return (uerr_t)local_90;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)(puVar23 + -4) = &UNK_00022f5b;\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "uerr_t __regparm3 ftp_retrieve_list(url *u,url *original_url,fileinfo *f,ccon *con)\n\n{\n  fileinfo **ppfVar1;\n  int iVar2;\n  char cVar3;\n  url *puVar4;\n  byte bVar5;\n  url *puVar6;\n  options *poVar7;\n  fileinfo *pfVar8;\n  _Bool _Var9;\n  uint uVar10;\n  char *pcVar11;\n  fileinfo *pfVar12;\n  undefined1 *puVar13;\n  int iVar14;\n  undefined4 uVar15;\n  size_t sVar16;\n  size_t sVar17;\n  int *piVar18;\n  int iVar19;\n  undefined1 uVar20;\n  uint uVar21;\n  ftype fVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uerr_t local_c0;\n  fileinfo *local_bc;\n  byte local_b5;\n  url *local_b4;\n  uint *local_b0;\n  fileinfo *local_ac;\n  int local_a8;\n  fileinfo *local_a4;\n  char *local_a0;\n  char *local_9c;\n  url *local_98;\n  options *local_94;\n  fileinfo *local_90;\n  char *actual_target;\n  stat st;\n  \n  puVar13 = auStack_cc;\n  puVar23 = auStack_cc;\n  local_b4 = original_url;\n  local_bc = f;\n  local_98 = u;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  actual_target = (char *)0x0;\n  local_94 = &opt;\n  local_90 = (fileinfo *)opt.reclevel;\n  iVar14 = ftp_retrieve_list::depth + 1;\n  if (opt.reclevel == -1 || iVar14 <= opt.reclevel) {\n    uVar21 = con->st;\n    ftp_retrieve_list::depth = iVar14;\n    con->st = uVar21 & 0xfffffffe;\n    uVar10 = con->cmd & 0xfffffffd;\n    if ((uVar21 & 2) == 0) {\n      uVar10 = con->cmd | 2;\n    }\n    uVar21 = uVar10 & 0xfffffffe | 0x14;\n    if (con->csock < 0) {\n      uVar21 = uVar10 | 0x15;\n    }\n    con->cmd = uVar21;\n    if (f == (fileinfo *)0x0) {\n      local_90 = (fileinfo *)0x19;\n    }\n    else {\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }\n    puVar4 = local_b4;\n    pfVar12 = local_bc;\n    if (local_94->recursive != false) {\n      iVar14 = local_94->reclevel;\n      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }\n    }\n    ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    puVar23 = puVar13;\n  }\n  else {\n    if (opt.debug) {\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }\n    puVar23 = auStack_cc;\n    local_90 = (fileinfo *)0x1a;\n  }\nLAB_00022667:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return (uerr_t)local_90;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)(puVar23 + -4) = &UNK_00022f5b;\n  __stack_chk_fail_local();\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "ftp_retrieve_list(url *u,url *original_url,fileinfo *f,ccon *con)" identifier (parameter_list "(url *u,url *original_url,fileinfo *f,ccon *con)" ( (parameter_declaration "url *u" type_identifier (pointer_declarator "*u" * identifier)) , (parameter_declaration "url *original_url" type_identifier (pointer_declarator "*original_url" * identifier)) , (parameter_declaration "fileinfo *f" type_identifier (pointer_declarator "*f" * identifier)) , (parameter_declaration "ccon *con" type_identifier (pointer_declarator "*con" * identifier)) ))) (compound_statement "{\n  fileinfo **ppfVar1;\n  int iVar2;\n  char cVar3;\n  url *puVar4;\n  byte bVar5;\n  url *puVar6;\n  options *poVar7;\n  fileinfo *pfVar8;\n  _Bool _Var9;\n  uint uVar10;\n  char *pcVar11;\n  fileinfo *pfVar12;\n  undefined1 *puVar13;\n  int iVar14;\n  undefined4 uVar15;\n  size_t sVar16;\n  size_t sVar17;\n  int *piVar18;\n  int iVar19;\n  undefined1 uVar20;\n  uint uVar21;\n  ftype fVar22;\n  undefined1 *puVar23;\n  undefined1 *puVar24;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uerr_t local_c0;\n  fileinfo *local_bc;\n  byte local_b5;\n  url *local_b4;\n  uint *local_b0;\n  fileinfo *local_ac;\n  int local_a8;\n  fileinfo *local_a4;\n  char *local_a0;\n  char *local_9c;\n  url *local_98;\n  options *local_94;\n  fileinfo *local_90;\n  char *actual_target;\n  stat st;\n  \n  puVar13 = auStack_cc;\n  puVar23 = auStack_cc;\n  local_b4 = original_url;\n  local_bc = f;\n  local_98 = u;\n  iVar2 = *(int *)(in_GS_OFFSET + 0x14);\n  actual_target = (char *)0x0;\n  local_94 = &opt;\n  local_90 = (fileinfo *)opt.reclevel;\n  iVar14 = ftp_retrieve_list::depth + 1;\n  if (opt.reclevel == -1 || iVar14 <= opt.reclevel) {\n    uVar21 = con->st;\n    ftp_retrieve_list::depth = iVar14;\n    con->st = uVar21 & 0xfffffffe;\n    uVar10 = con->cmd & 0xfffffffd;\n    if ((uVar21 & 2) == 0) {\n      uVar10 = con->cmd | 2;\n    }\n    uVar21 = uVar10 & 0xfffffffe | 0x14;\n    if (con->csock < 0) {\n      uVar21 = uVar10 | 0x15;\n    }\n    con->cmd = uVar21;\n    if (f == (fileinfo *)0x0) {\n      local_90 = (fileinfo *)0x19;\n    }\n    else {\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }\n    puVar4 = local_b4;\n    pfVar12 = local_bc;\n    if (local_94->recursive != false) {\n      iVar14 = local_94->reclevel;\n      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }\n    }\n    ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    puVar23 = puVar13;\n  }\n  else {\n    if (opt.debug) {\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }\n    puVar23 = auStack_cc;\n    local_90 = (fileinfo *)0x1a;\n  }\nLAB_00022667:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return (uerr_t)local_90;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined **)(puVar23 + -4) = &UNK_00022f5b;\n  __stack_chk_fail_local();\n}" { (declaration "fileinfo **ppfVar1;" type_identifier (pointer_declarator "**ppfVar1" * (pointer_declarator "*ppfVar1" * identifier)) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "url *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "url *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "options *poVar7;" type_identifier (pointer_declarator "*poVar7" * identifier) ;) (declaration "fileinfo *pfVar8;" type_identifier (pointer_declarator "*pfVar8" * identifier) ;) (declaration "_Bool _Var9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "fileinfo *pfVar12;" type_identifier (pointer_declarator "*pfVar12" * identifier) ;) (declaration "undefined1 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "size_t sVar16;" primitive_type identifier ;) (declaration "size_t sVar17;" primitive_type identifier ;) (declaration "int *piVar18;" primitive_type (pointer_declarator "*piVar18" * identifier) ;) (declaration "int iVar19;" primitive_type identifier ;) (declaration "undefined1 uVar20;" type_identifier identifier ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "ftype fVar22;" type_identifier identifier ;) (declaration "undefined1 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "undefined1 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined1 auStack_cc [12];" type_identifier (array_declarator "auStack_cc [12]" identifier [ number_literal ]) ;) (declaration "uerr_t local_c0;" type_identifier identifier ;) (declaration "fileinfo *local_bc;" type_identifier (pointer_declarator "*local_bc" * identifier) ;) (declaration "byte local_b5;" type_identifier identifier ;) (declaration "url *local_b4;" type_identifier (pointer_declarator "*local_b4" * identifier) ;) (declaration "uint *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "fileinfo *local_ac;" type_identifier (pointer_declarator "*local_ac" * identifier) ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "fileinfo *local_a4;" type_identifier (pointer_declarator "*local_a4" * identifier) ;) (declaration "char *local_a0;" primitive_type (pointer_declarator "*local_a0" * identifier) ;) (declaration "char *local_9c;" primitive_type (pointer_declarator "*local_9c" * identifier) ;) (declaration "url *local_98;" type_identifier (pointer_declarator "*local_98" * identifier) ;) (declaration "options *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "fileinfo *local_90;" type_identifier (pointer_declarator "*local_90" * identifier) ;) (declaration "char *actual_target;" primitive_type (pointer_declarator "*actual_target" * identifier) ;) (declaration "stat st;" type_identifier identifier ;) (expression_statement "puVar13 = auStack_cc;" (assignment_expression "puVar13 = auStack_cc" identifier = identifier) ;) (expression_statement "puVar23 = auStack_cc;" (assignment_expression "puVar23 = auStack_cc" identifier = identifier) ;) (expression_statement "local_b4 = original_url;" (assignment_expression "local_b4 = original_url" identifier = identifier) ;) (expression_statement "local_bc = f;" (assignment_expression "local_bc = f" identifier = identifier) ;) (expression_statement "local_98 = u;" (assignment_expression "local_98 = u" identifier = identifier) ;) (expression_statement "iVar2 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar2 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "actual_target = (char *)0x0;" (assignment_expression "actual_target = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_94 = &opt;" (assignment_expression "local_94 = &opt" identifier = (pointer_expression "&opt" & identifier)) ;) (expression_statement "local_90 = (fileinfo *)opt.reclevel;" (assignment_expression "local_90 = (fileinfo *)opt.reclevel" identifier = (cast_expression "(fileinfo *)opt.reclevel" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "opt.reclevel" identifier . field_identifier))) ;) (expression_statement "iVar14 = ftp_retrieve_list::depth + 1;" (binary_expression "iVar14 = ftp_retrieve_list::depth + 1" (assignment_expression "iVar14 = ftp_retrieve_list" identifier = identifier) (ERROR "::depth" : : identifier) + number_literal) ;) (if_statement "if (opt.reclevel == -1 || iVar14 <= opt.reclevel) {\n    uVar21 = con->st;\n    ftp_retrieve_list::depth = iVar14;\n    con->st = uVar21 & 0xfffffffe;\n    uVar10 = con->cmd & 0xfffffffd;\n    if ((uVar21 & 2) == 0) {\n      uVar10 = con->cmd | 2;\n    }\n    uVar21 = uVar10 & 0xfffffffe | 0x14;\n    if (con->csock < 0) {\n      uVar21 = uVar10 | 0x15;\n    }\n    con->cmd = uVar21;\n    if (f == (fileinfo *)0x0) {\n      local_90 = (fileinfo *)0x19;\n    }\n    else {\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }\n    puVar4 = local_b4;\n    pfVar12 = local_bc;\n    if (local_94->recursive != false) {\n      iVar14 = local_94->reclevel;\n      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }\n    }\n    ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    puVar23 = puVar13;\n  }\n  else {\n    if (opt.debug) {\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }\n    puVar23 = auStack_cc;\n    local_90 = (fileinfo *)0x1a;\n  }" if (parenthesized_expression "(opt.reclevel == -1 || iVar14 <= opt.reclevel)" ( (binary_expression "opt.reclevel == -1 || iVar14 <= opt.reclevel" (binary_expression "opt.reclevel == -1" (field_expression "opt.reclevel" identifier . field_identifier) == number_literal) || (binary_expression "iVar14 <= opt.reclevel" identifier <= (field_expression "opt.reclevel" identifier . field_identifier))) )) (compound_statement "{\n    uVar21 = con->st;\n    ftp_retrieve_list::depth = iVar14;\n    con->st = uVar21 & 0xfffffffe;\n    uVar10 = con->cmd & 0xfffffffd;\n    if ((uVar21 & 2) == 0) {\n      uVar10 = con->cmd | 2;\n    }\n    uVar21 = uVar10 & 0xfffffffe | 0x14;\n    if (con->csock < 0) {\n      uVar21 = uVar10 | 0x15;\n    }\n    con->cmd = uVar21;\n    if (f == (fileinfo *)0x0) {\n      local_90 = (fileinfo *)0x19;\n    }\n    else {\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }\n    puVar4 = local_b4;\n    pfVar12 = local_bc;\n    if (local_94->recursive != false) {\n      iVar14 = local_94->reclevel;\n      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }\n    }\n    ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    puVar23 = puVar13;\n  }" { (expression_statement "uVar21 = con->st;" (assignment_expression "uVar21 = con->st" identifier = (field_expression "con->st" identifier -> field_identifier)) ;) (labeled_statement "ftp_retrieve_list::depth = iVar14;" statement_identifier : (ERROR ":" :) (expression_statement "depth = iVar14;" (assignment_expression "depth = iVar14" identifier = identifier) ;)) (expression_statement "con->st = uVar21 & 0xfffffffe;" (assignment_expression "con->st = uVar21 & 0xfffffffe" (field_expression "con->st" identifier -> field_identifier) = (binary_expression "uVar21 & 0xfffffffe" identifier & number_literal)) ;) (expression_statement "uVar10 = con->cmd & 0xfffffffd;" (assignment_expression "uVar10 = con->cmd & 0xfffffffd" identifier = (binary_expression "con->cmd & 0xfffffffd" (field_expression "con->cmd" identifier -> field_identifier) & number_literal)) ;) (if_statement "if ((uVar21 & 2) == 0) {\n      uVar10 = con->cmd | 2;\n    }" if (parenthesized_expression "((uVar21 & 2) == 0)" ( (binary_expression "(uVar21 & 2) == 0" (parenthesized_expression "(uVar21 & 2)" ( (binary_expression "uVar21 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar10 = con->cmd | 2;\n    }" { (expression_statement "uVar10 = con->cmd | 2;" (assignment_expression "uVar10 = con->cmd | 2" identifier = (binary_expression "con->cmd | 2" (field_expression "con->cmd" identifier -> field_identifier) | number_literal)) ;) })) (expression_statement "uVar21 = uVar10 & 0xfffffffe | 0x14;" (assignment_expression "uVar21 = uVar10 & 0xfffffffe | 0x14" identifier = (binary_expression "uVar10 & 0xfffffffe | 0x14" (binary_expression "uVar10 & 0xfffffffe" identifier & number_literal) | number_literal)) ;) (if_statement "if (con->csock < 0) {\n      uVar21 = uVar10 | 0x15;\n    }" if (parenthesized_expression "(con->csock < 0)" ( (binary_expression "con->csock < 0" (field_expression "con->csock" identifier -> field_identifier) < number_literal) )) (compound_statement "{\n      uVar21 = uVar10 | 0x15;\n    }" { (expression_statement "uVar21 = uVar10 | 0x15;" (assignment_expression "uVar21 = uVar10 | 0x15" identifier = (binary_expression "uVar10 | 0x15" identifier | number_literal)) ;) })) (expression_statement "con->cmd = uVar21;" (assignment_expression "con->cmd = uVar21" (field_expression "con->cmd" identifier -> field_identifier) = identifier) ;) (if_statement "if (f == (fileinfo *)0x0) {\n      local_90 = (fileinfo *)0x19;\n    }\n    else {\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }" if (parenthesized_expression "(f == (fileinfo *)0x0)" ( (binary_expression "f == (fileinfo *)0x0" identifier == (cast_expression "(fileinfo *)0x0" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_90 = (fileinfo *)0x19;\n    }" { (expression_statement "local_90 = (fileinfo *)0x19;" (assignment_expression "local_90 = (fileinfo *)0x19" identifier = (cast_expression "(fileinfo *)0x19" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }" else (compound_statement "{\n      local_b5 = 0;\n      local_90 = f;\n      local_b0 = (uint *)&total_downloaded_bytes;\n      do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);\n      local_90 = local_a4;\n      puVar13 = puVar23;\n    }" { (expression_statement "local_b5 = 0;" (assignment_expression "local_b5 = 0" identifier = number_literal) ;) (expression_statement "local_90 = f;" (assignment_expression "local_90 = f" identifier = identifier) ;) (expression_statement "local_b0 = (uint *)&total_downloaded_bytes;" (assignment_expression "local_b0 = (uint *)&total_downloaded_bytes" identifier = (cast_expression "(uint *)&total_downloaded_bytes" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&total_downloaded_bytes" & identifier))) ;) (do_statement "do {\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      } while (*ppfVar1 != (fileinfo *)0x0);" do (compound_statement "{\n        puVar4 = local_98;\n        uVar21 = (uint)local_94->quota;\n        iVar14 = *(int *)((int)&local_94->quota + 4);\n        if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }\n        pcVar11 = con->target;\n        *(char **)(puVar23 + -0x10) = local_98->file;\n        local_9c = pcVar11;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2247b;\n        local_a0 = xstrdup(*(char **)(puVar23 + -0x10));\n        *(char **)(puVar23 + -0xc) = local_90->name;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x22492;\n        url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        *(undefined4 *)(puVar23 + -0xc) = 0;\n        *(url **)(puVar23 + -0x10) = puVar4;\n        *(undefined4 *)(puVar23 + -0x14) = 0x2249c;\n        pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n        con->target = pcVar11;\n        if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }\n        con->cmd = con->cmd & 0xfffffffc;\n        ppfVar1 = &local_90->next;\n        local_90 = *ppfVar1;\n      }" { (expression_statement "puVar4 = local_98;" (assignment_expression "puVar4 = local_98" identifier = identifier) ;) (expression_statement "uVar21 = (uint)local_94->quota;" (assignment_expression "uVar21 = (uint)local_94->quota" identifier = (cast_expression "(uint)local_94->quota" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_94->quota" identifier -> field_identifier))) ;) (expression_statement "iVar14 = *(int *)((int)&local_94->quota + 4);" (assignment_expression "iVar14 = *(int *)((int)&local_94->quota + 4)" identifier = (pointer_expression "*(int *)((int)&local_94->quota + 4)" * (cast_expression "(int *)((int)&local_94->quota + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_94->quota + 4)" ( (binary_expression "(int)&local_94->quota + 4" (cast_expression "(int)&local_94->quota" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_94->quota" & (field_expression "local_94->quota" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if ((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))\n        {\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }" if (parenthesized_expression "((iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0))" ( (binary_expression "(iVar14 != 0 || uVar21 != 0) &&\n           (uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0)" (parenthesized_expression "(iVar14 != 0 || uVar21 != 0)" ( (binary_expression "iVar14 != 0 || uVar21 != 0" (binary_expression "iVar14 != 0" identifier != number_literal) || (binary_expression "uVar21 != 0" identifier != number_literal)) )) && (parenthesized_expression "(uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0)" ( (comma_expression "uVar21 = (uint)(uVar21 < *local_b0), iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0" (assignment_expression "uVar21 = (uint)(uVar21 < *local_b0)" identifier = (call_expression "(uint)(uVar21 < *local_b0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar21 < *local_b0)" ( (binary_expression "uVar21 < *local_b0" identifier < (pointer_expression "*local_b0" * identifier)) )))) , (comma_expression "iVar19 = iVar14 - local_b0[1],\n           (SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0" (assignment_expression "iVar19 = iVar14 - local_b0[1]" identifier = (binary_expression "iVar14 - local_b0[1]" identifier - (subscript_expression "local_b0[1]" identifier [ number_literal ]))) , (binary_expression "(SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)) != (int)(iVar19 - uVar21) < 0" (parenthesized_expression "(SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21))" ( (binary_expression "SBORROW4(iVar14,local_b0[1]) != SBORROW4(iVar19,uVar21)" (call_expression "SBORROW4(iVar14,local_b0[1])" identifier (argument_list "(iVar14,local_b0[1])" ( identifier , (subscript_expression "local_b0[1]" identifier [ number_literal ]) ))) != (call_expression "SBORROW4(iVar19,uVar21)" identifier (argument_list "(iVar19,uVar21)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar19 - uVar21) < 0" (cast_expression "(int)(iVar19 - uVar21)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar19 - uVar21)" ( (binary_expression "iVar19 - uVar21" identifier - identifier) ))) < number_literal)))) ))) )) (compound_statement "{\n          ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n          local_90 = (fileinfo *)0x2b;\n          goto LAB_00022667;\n        }" { (labeled_statement "ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;" statement_identifier (ERROR "::depth = ftp_retrieve_list:" : : (assignment_expression "depth = ftp_retrieve_list" identifier = identifier) :) : (expression_statement "depth + -1;" (binary_expression "depth + -1" identifier + number_literal) ;)) (expression_statement "local_90 = (fileinfo *)0x2b;" (assignment_expression "local_90 = (fileinfo *)0x2b" identifier = (cast_expression "(fileinfo *)0x2b" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00022667;" goto statement_identifier ;) })) (expression_statement "pcVar11 = con->target;" (assignment_expression "pcVar11 = con->target" identifier = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "*(char **)(puVar23 + -0x10) = local_98->file;" (assignment_expression "*(char **)(puVar23 + -0x10) = local_98->file" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (field_expression "local_98->file" identifier -> field_identifier)) ;) (expression_statement "local_9c = pcVar11;" (assignment_expression "local_9c = pcVar11" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2247b;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2247b" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a0 = xstrdup(*(char **)(puVar23 + -0x10));" (assignment_expression "local_a0 = xstrdup(*(char **)(puVar23 + -0x10))" identifier = (call_expression "xstrdup(*(char **)(puVar23 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar23 + -0xc) = local_90->name;" (assignment_expression "*(char **)(puVar23 + -0xc) = local_90->name" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (field_expression "local_90->name" identifier -> field_identifier)) ;) (expression_statement "*(url **)(puVar23 + -0x10) = puVar4;" (assignment_expression "*(url **)(puVar23 + -0x10) = puVar4" (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22492;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22492" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(url **)(puVar23 + -0x10) = puVar4;" (assignment_expression "*(url **)(puVar23 + -0x10) = puVar4" (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2249c;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2249c" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (assignment_expression "pcVar11 = url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier = (call_expression "url_file_name(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "con->target = pcVar11;" (assignment_expression "con->target = pcVar11" (field_expression "con->target" identifier -> field_identifier) = identifier) ;) (if_statement "if (local_94->timestamping == false) {\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }\n        else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }" if (parenthesized_expression "(local_94->timestamping == false)" ( (binary_expression "local_94->timestamping == false" (field_expression "local_94->timestamping" identifier -> field_identifier) == false) )) (compound_statement "{\n          fVar22 = local_90->type;\n          if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;\nLAB_00022699:\n          uVar20 = 1;\nLAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n          *(undefined4 *)(puVar23 + -0x14) = 0x2273e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          pfVar12 = (fileinfo *)0x19;\n          if (actual_target != (char *)0x0) goto LAB_00022839;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = (fileinfo *)0x19;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22af1;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b0e;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x22b16;\n          free(*(void **)(puVar23 + -0x10));\n        }" { (expression_statement "fVar22 = local_90->type;" (assignment_expression "fVar22 = local_90->type" identifier = (field_expression "local_90->type" identifier -> field_identifier)) ;) (if_statement "if (fVar22 != FT_DIRECTORY) goto LAB_000224d0;" if (parenthesized_expression "(fVar22 != FT_DIRECTORY)" ( (binary_expression "fVar22 != FT_DIRECTORY" identifier != identifier) )) (goto_statement "goto LAB_000224d0;" goto statement_identifier ;)) (labeled_statement "LAB_00022699:\n          uVar20 = 1;" statement_identifier : (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0002269e:\n          if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }" statement_identifier : (if_statement "if (local_94->recursive == false) {\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }" if (parenthesized_expression "(local_94->recursive == false)" ( (binary_expression "local_94->recursive == false" (field_expression "local_94->recursive" identifier -> field_identifier) == false) )) (compound_statement "{\n            local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n            *(char **)(puVar23 + -0x10) = local_90->name;\n            *(undefined4 *)(puVar23 + -0x14) = 0x226c1;\n            local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n            pcVar11 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar23 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 0;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2270d;\n            uVar15 = dcgettext();\n            *(fileinfo **)(puVar23 + -8) = local_a4;\n            *(undefined4 *)(puVar23 + -0xc) = uVar15;\n            *(undefined4 *)(puVar23 + -0x10) = 1;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2271f;\n            logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            uVar20 = (byte)local_ac;\n          }" { (expression_statement "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);" (assignment_expression "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_ac._1_3_,uVar20)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,uVar20)" identifier (argument_list "(local_ac._1_3_,uVar20)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(char **)(puVar23 + -0x10) = local_90->name;" (assignment_expression "*(char **)(puVar23 + -0x10) = local_90->name" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (field_expression "local_90->name" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x226c1;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x226c1" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));" (assignment_expression "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10))" identifier = (cast_expression "(fileinfo *)quote(*(char **)(puVar23 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(*(char **)(puVar23 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "pcVar11 = "Skipping directory %s.\n";" (assignment_expression "pcVar11 = "Skipping directory %s.\n"" identifier = (string_literal ""Skipping directory %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00022705:\n            *(char **)(puVar23 + -0xc) = pcVar11;" statement_identifier : (expression_statement "*(char **)(puVar23 + -0xc) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0xc) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2270d;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2270d" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(fileinfo **)(puVar23 + -8) = local_a4;" (assignment_expression "*(fileinfo **)(puVar23 + -8) = local_a4" (pointer_expression "*(fileinfo **)(puVar23 + -8)" * (cast_expression "(fileinfo **)(puVar23 + -8)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2271f;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2271f" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(log_options *)(puVar23 + -0x10)" * (cast_expression "(log_options *)(puVar23 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar20 = (byte)local_ac;" (assignment_expression "uVar20 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_00022729:\n          *(char **)(puVar23 + -0xc) = con->target;" statement_identifier : (expression_statement "*(char **)(puVar23 + -0xc) = con->target;" (assignment_expression "*(char **)(puVar23 + -0xc) = con->target" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;)) (expression_statement "*(char ***)(puVar23 + -0x10) = &actual_target;" (assignment_expression "*(char ***)(puVar23 + -0x10) = &actual_target" (pointer_expression "*(char ***)(puVar23 + -0x10)" * (cast_expression "(char ***)(puVar23 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (pointer_expression "&actual_target" & identifier)) ;) (expression_statement "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);" (assignment_expression "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_a4._1_3_,uVar20)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,uVar20)" identifier (argument_list "(local_a4._1_3_,uVar20)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2273e;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2273e" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(char ***)(puVar23 + -0x10)" * (cast_expression "(char ***)(puVar23 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (if_statement "if ((byte)local_a4 != '\0') {\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }" if (parenthesized_expression "((byte)local_a4 != '\0')" ( (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pfVar12 = (fileinfo *)0x19;\n            if (actual_target != (char *)0x0) goto LAB_00022542;\n            *(char **)(puVar23 + -0x10) = con->target;\n            local_a4 = (fileinfo *)0x19;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22771;\n            free(*(void **)(puVar23 + -0x10));\n            pcVar11 = local_a0;\n            con->target = local_9c;\n            *(char **)(puVar23 + -0xc) = local_a0;\n            *(url **)(puVar23 + -0x10) = local_98;\n            *(undefined4 *)(puVar23 + -0x14) = 0x2278e;\n            url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n            *(char **)(puVar23 + -0x10) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x14) = 0x22796;\n            free(*(void **)(puVar23 + -0x10));\n            puVar13 = (undefined1 *)0x4;\n            goto LAB_000227a4;\n          }" { (expression_statement "pfVar12 = (fileinfo *)0x19;" (assignment_expression "pfVar12 = (fileinfo *)0x19" identifier = (cast_expression "(fileinfo *)0x19" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (actual_target != (char *)0x0) goto LAB_00022542;" if (parenthesized_expression "(actual_target != (char *)0x0)" ( (binary_expression "actual_target != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00022542;" goto statement_identifier ;)) (expression_statement "*(char **)(puVar23 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar23 + -0x10) = con->target" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "local_a4 = (fileinfo *)0x19;" (assignment_expression "local_a4 = (fileinfo *)0x19" identifier = (cast_expression "(fileinfo *)0x19" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22771;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22771" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar23 + -0x10));" (call_expression "free(*(void **)(puVar23 + -0x10))" identifier (argument_list "(*(void **)(puVar23 + -0x10))" ( (pointer_expression "*(void **)(puVar23 + -0x10)" * (cast_expression "(void **)(puVar23 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "pcVar11 = local_a0;" (assignment_expression "pcVar11 = local_a0" identifier = identifier) ;) (expression_statement "con->target = local_9c;" (assignment_expression "con->target = local_9c" (field_expression "con->target" identifier -> field_identifier) = identifier) ;) (expression_statement "*(char **)(puVar23 + -0xc) = local_a0;" (assignment_expression "*(char **)(puVar23 + -0xc) = local_a0" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(url **)(puVar23 + -0x10) = local_98;" (assignment_expression "*(url **)(puVar23 + -0x10) = local_98" (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2278e;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2278e" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(char **)(puVar23 + -0x10) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0x10) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22796;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22796" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar23 + -0x10));" (call_expression "free(*(void **)(puVar23 + -0x10))" identifier (argument_list "(*(void **)(puVar23 + -0x10))" ( (pointer_expression "*(void **)(puVar23 + -0x10)" * (cast_expression "(void **)(puVar23 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "puVar13 = (undefined1 *)0x4;" (assignment_expression "puVar13 = (undefined1 *)0x4" identifier = (cast_expression "(undefined1 *)0x4" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_000227a4;" goto statement_identifier ;) })) (labeled_statement "LAB_00022822:\n          local_a4._0_1_ = '\0';" statement_identifier : (expression_statement "local_a4._0_1_ = '\0';" (assignment_expression "local_a4._0_1_ = '\0'" (field_expression "local_a4._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "pfVar12 = (fileinfo *)0x19;" (assignment_expression "pfVar12 = (fileinfo *)0x19" identifier = (cast_expression "(fileinfo *)0x19" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (actual_target != (char *)0x0) goto LAB_00022839;" if (parenthesized_expression "(actual_target != (char *)0x0)" ( (binary_expression "actual_target != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_00022839;" goto statement_identifier ;)) (expression_statement "*(char **)(puVar23 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar23 + -0x10) = con->target" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "local_a4 = (fileinfo *)0x19;" (assignment_expression "local_a4 = (fileinfo *)0x19" identifier = (cast_expression "(fileinfo *)0x19" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22af1;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22af1" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar23 + -0x10));" (call_expression "free(*(void **)(puVar23 + -0x10))" identifier (argument_list "(*(void **)(puVar23 + -0x10))" ( (pointer_expression "*(void **)(puVar23 + -0x10)" * (cast_expression "(void **)(puVar23 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "pcVar11 = local_a0;" (assignment_expression "pcVar11 = local_a0" identifier = identifier) ;) (expression_statement "con->target = local_9c;" (assignment_expression "con->target = local_9c" (field_expression "con->target" identifier -> field_identifier) = identifier) ;) (expression_statement "*(char **)(puVar23 + -0xc) = local_a0;" (assignment_expression "*(char **)(puVar23 + -0xc) = local_a0" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(url **)(puVar23 + -0x10) = local_98;" (assignment_expression "*(url **)(puVar23 + -0x10) = local_98" (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22b0e;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22b0e" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(char **)(puVar23 + -0x10) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0x10) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22b16;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22b16" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar23 + -0x10));" (call_expression "free(*(void **)(puVar23 + -0x10))" identifier (argument_list "(*(void **)(puVar23 + -0x10))" ( (pointer_expression "*(void **)(puVar23 + -0x10)" * (cast_expression "(void **)(puVar23 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }" else (compound_statement "{\n          fVar22 = local_90->type;\n          if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          pfVar12 = local_90;\n          puVar4 = local_b4;\n          *(uint *)(puVar23 + -8) = (uint)local_b5;\n          puVar6 = local_98;\n          *(undefined4 *)(puVar23 + -0xc) = 0;\n          *(ccon **)(puVar23 + -0x10) = con;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2251a;\n          pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);\n          *(char **)(puVar23 + -0xc) = con->target;\n          local_a4 = pfVar12;\n          *(char ***)(puVar23 + -0x10) = &actual_target;\n          *(undefined4 *)(puVar23 + -0x14) = 0x2252e;\n          set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          pfVar12 = local_a4;\n          pfVar8 = local_ac;\n          if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = pfVar8;\n          *(char **)(puVar23 + -0x10) = con->target;\n          local_a4 = pfVar12;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225d9;\n          free(*(void **)(puVar23 + -0x10));\n          pcVar11 = local_a0;\n          con->target = local_9c;\n          *(char **)(puVar23 + -0xc) = local_a0;\n          *(url **)(puVar23 + -0x10) = local_98;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225f6;\n          url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n          *(char **)(puVar23 + -0x10) = pcVar11;\n          *(undefined4 *)(puVar23 + -0x14) = 0x225fe;\n          free(*(void **)(puVar23 + -0x10));\n          if (local_a4 == (fileinfo *)0x1) break;\n          puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);\n          if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }\n          if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;\n        }" { (expression_statement "fVar22 = local_90->type;" (assignment_expression "fVar22 = local_90->type" identifier = (field_expression "local_90->type" identifier -> field_identifier)) ;) (if_statement "if (fVar22 == FT_PLAINFILE) {\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" if (parenthesized_expression "(fVar22 == FT_PLAINFILE)" ( (binary_expression "fVar22 == FT_PLAINFILE" identifier == identifier) )) (compound_statement "{\n            local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);\n            *(stat **)(puVar23 + -8) = &st;\n            *(char **)(puVar23 + -0xc) = pcVar11;\n            *(undefined4 *)(puVar23 + -0x10) = 3;\n            *(undefined4 *)(puVar23 + -0x14) = 0x228e5;\n            iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));\n            bVar5 = (byte)local_a4;\n            uVar20 = (byte)local_a4;\n            if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            fVar22 = local_90->type;\njoined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;\n            if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }\n          }" { (expression_statement "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping);" (assignment_expression "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_a4._1_3_,local_94->timestamping)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,local_94->timestamping)" identifier (argument_list "(local_a4._1_3_,local_94->timestamping)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (field_expression "local_94->timestamping" identifier -> field_identifier) ))))) ;) (expression_statement "*(stat **)(puVar23 + -8) = &st;" (assignment_expression "*(stat **)(puVar23 + -8) = &st" (pointer_expression "*(stat **)(puVar23 + -8)" * (cast_expression "(stat **)(puVar23 + -8)" ( (type_descriptor "stat **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = (pointer_expression "&st" & identifier)) ;) (expression_statement "*(char **)(puVar23 + -0xc) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0xc) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x228e5;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x228e5" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8));" (assignment_expression "iVar14 = __xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8))" identifier = (call_expression "__xstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8))" identifier (argument_list "(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                               *(stat64 **)(puVar23 + -8))" ( (pointer_expression "*(int *)(puVar23 + -0x10)" * (cast_expression "(int *)(puVar23 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(stat64 **)(puVar23 + -8)" * (cast_expression "(stat64 **)(puVar23 + -8)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "bVar5 = (byte)local_a4;" (assignment_expression "bVar5 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar20 = (byte)local_a4;" (assignment_expression "uVar20 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar14 == 0) {\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n              local_a4 = (fileinfo *)local_90->tstamp;\n              if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              pcVar11 = con->target;\n              if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;\n              *(char **)(puVar23 + -0x10) = pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227c9;\n              local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227e2;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              *(undefined4 *)(puVar23 + -0x14) = 0x227f4;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              fVar22 = local_90->type;\n              if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }\n              if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar24 = puVar23 + -8;\nLAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;\n              *(char ***)(puVar24 + -8) = &actual_target;\n              *(undefined4 *)(puVar24 + -0xc) = 0x2281f;\n              set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));\n              puVar23 = puVar24 + 8;\n              goto LAB_00022822;\n            }" { (expression_statement "local_a4 = (fileinfo *)local_90->tstamp;" (assignment_expression "local_a4 = (fileinfo *)local_90->tstamp" identifier = (cast_expression "(fileinfo *)local_90->tstamp" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_90->tstamp" identifier -> field_identifier))) ;) (if_statement "if ((con->rs & ~ST_WINNT) == ST_UNIX) {\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" if (parenthesized_expression "((con->rs & ~ST_WINNT) == ST_UNIX)" ( (binary_expression "(con->rs & ~ST_WINNT) == ST_UNIX" (parenthesized_expression "(con->rs & ~ST_WINNT)" ( (binary_expression "con->rs & ~ST_WINNT" (field_expression "con->rs" identifier -> field_identifier) & (unary_expression "~ST_WINNT" ~ identifier)) )) == identifier) )) (compound_statement "{\n                local_ac = (fileinfo *)st.st_size;\n                local_a8 = st.st_size._4_4_;\n                local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;\n                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;\n                if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }\n                pcVar11 = con->target;\nLAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);\n                *(char **)(puVar23 + -0x10) = pcVar11;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22bea;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c03;\n                uVar15 = dcgettext();\n                *(fileinfo **)(puVar23 + -8) = local_a4;\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22c15;\n                logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                fVar22 = local_90->type;\n                local_b5 = (byte)local_ac;\n                uVar20 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" { (expression_statement "local_ac = (fileinfo *)st.st_size;" (assignment_expression "local_ac = (fileinfo *)st.st_size" identifier = (cast_expression "(fileinfo *)st.st_size" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "st.st_size" identifier . field_identifier))) ;) (expression_statement "local_a8 = st.st_size._4_4_;" (assignment_expression "local_a8 = st.st_size._4_4_" identifier = (field_expression "st.st_size._4_4_" (field_expression "st.st_size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size;" (assignment_expression "local_c0 = (uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size" identifier = (binary_expression "(uint)(fileinfo *)st.st_size ^ (uerr_t)local_90->size" (cast_expression "(uint)(fileinfo *)st.st_size" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(fileinfo *)st.st_size" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "st.st_size" identifier . field_identifier))) ^ (cast_expression "(uerr_t)local_90->size" ( (type_descriptor "uerr_t" type_identifier) ) (field_expression "local_90->size" identifier -> field_identifier)))) ;) (if_statement "if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   ) goto LAB_00022bc8;" if (parenthesized_expression "(st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR\n                   )" ( (binary_expression "st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && local_c0 == NOCONERROR" (binary_expression "st.st_size._4_4_ == *(int *)((int)&local_90->size + 4)" (field_expression "st.st_size._4_4_" (field_expression "st.st_size" identifier . field_identifier) . field_identifier) == (pointer_expression "*(int *)((int)&local_90->size + 4)" * (cast_expression "(int *)((int)&local_90->size + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_90->size + 4)" ( (binary_expression "(int)&local_90->size + 4" (cast_expression "(int)&local_90->size" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_90->size" & (field_expression "local_90->size" identifier -> field_identifier))) + number_literal) ))))) && (binary_expression "local_c0 == NOCONERROR" identifier == identifier)) )) (goto_statement "goto LAB_00022bc8;" goto statement_identifier ;)) (if_statement "if ((int)local_a4 <= st.st_mtim.tv_sec) {\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }" if (parenthesized_expression "((int)local_a4 <= st.st_mtim.tv_sec)" ( (binary_expression "(int)local_a4 <= st.st_mtim.tv_sec" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) <= (field_expression "st.st_mtim.tv_sec" (field_expression "st.st_mtim" identifier . field_identifier) . field_identifier)) )) (compound_statement "{\n                  *(int *)(puVar23 + -0xc) = st.st_size._4_4_;\n                  *(fileinfo **)(puVar23 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar5);\n                  *(undefined4 *)(puVar23 + -0x14) = 0x2297e;\n                  local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));\n                  *(undefined4 *)(puVar23 + -8) = 5;\n                  *(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22997;\n                  uVar15 = dcgettext();\n                  *(fileinfo **)(puVar23 + -8) = local_a4;\n                  *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                  *(undefined4 *)(puVar23 + -0x10) = 0;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x229a9;\n                  logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  uVar20 = (undefined1)local_c0;\n                  goto LAB_000229b3;\n                }" { (expression_statement "*(int *)(puVar23 + -0xc) = st.st_size._4_4_;" (assignment_expression "*(int *)(puVar23 + -0xc) = st.st_size._4_4_" (pointer_expression "*(int *)(puVar23 + -0xc)" * (cast_expression "(int *)(puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (field_expression "st.st_size._4_4_" (field_expression "st.st_size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "*(fileinfo **)(puVar23 + -0x10) = local_ac;" (assignment_expression "*(fileinfo **)(puVar23 + -0x10) = local_ac" (pointer_expression "*(fileinfo **)(puVar23 + -0x10)" * (cast_expression "(fileinfo **)(puVar23 + -0x10)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,bVar5);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,bVar5)" identifier = (call_expression "CONCAT31(local_c0._1_3_,bVar5)" identifier (argument_list "(local_c0._1_3_,bVar5)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2297e;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2297e" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10));" (assignment_expression "local_a4 = (fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10))" identifier = (cast_expression "(fileinfo *)number_to_static_string(*(wgint *)(puVar23 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "number_to_static_string(*(wgint *)(puVar23 + -0x10))" identifier (argument_list "(*(wgint *)(puVar23 + -0x10))" ( (pointer_expression "*(wgint *)(puVar23 + -0x10)" * (cast_expression "(wgint *)(puVar23 + -0x10)" ( (type_descriptor "wgint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar23 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (string_literal ""The sizes do not match (local %s) -- retrieving.\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22997;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22997" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(fileinfo **)(puVar23 + -8) = local_a4;" (assignment_expression "*(fileinfo **)(puVar23 + -8) = local_a4" (pointer_expression "*(fileinfo **)(puVar23 + -8)" * (cast_expression "(fileinfo **)(puVar23 + -8)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x229a9;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x229a9" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(log_options *)(puVar23 + -0x10)" * (cast_expression "(log_options *)(puVar23 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar20 = (undefined1)local_c0;" (assignment_expression "uVar20 = (undefined1)local_c0" identifier = (cast_expression "(undefined1)local_c0" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_000229b3;" goto statement_identifier ;) })) (expression_statement "pcVar11 = con->target;" (assignment_expression "pcVar11 = con->target" identifier = (field_expression "con->target" identifier -> field_identifier)) ;) (labeled_statement "LAB_00022bdb:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);" statement_identifier : (expression_statement "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5);" (assignment_expression "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,bVar5)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_ac._1_3_,bVar5)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,bVar5)" identifier (argument_list "(local_ac._1_3_,bVar5)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;)) (expression_statement "*(char **)(puVar23 + -0x10) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0x10) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22bea;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22bea" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));" (assignment_expression "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10))" identifier = (cast_expression "(fileinfo *)quote(*(char **)(puVar23 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(*(char **)(puVar23 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar23 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (string_literal ""Remote file is newer than local file %s -- retrieving.\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22c03;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22c03" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(fileinfo **)(puVar23 + -8) = local_a4;" (assignment_expression "*(fileinfo **)(puVar23 + -8) = local_a4" (pointer_expression "*(fileinfo **)(puVar23 + -8)" * (cast_expression "(fileinfo **)(puVar23 + -8)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22c15;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22c15" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(log_options *)(puVar23 + -0x10)" * (cast_expression "(log_options *)(puVar23 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "fVar22 = local_90->type;" (assignment_expression "fVar22 = local_90->type" identifier = (field_expression "local_90->type" identifier -> field_identifier)) ;) (expression_statement "local_b5 = (byte)local_ac;" (assignment_expression "local_b5 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "uVar20 = (byte)local_ac;" (assignment_expression "uVar20 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto joined_r0x00022c30;" goto statement_identifier ;) })) (labeled_statement "LAB_00022bc8:\n              pcVar11 = con->target;" statement_identifier : (expression_statement "pcVar11 = con->target;" (assignment_expression "pcVar11 = con->target" identifier = (field_expression "con->target" identifier -> field_identifier)) ;)) (if_statement "if (st.st_mtim.tv_sec < (int)local_a4) goto LAB_00022bdb;" if (parenthesized_expression "(st.st_mtim.tv_sec < (int)local_a4)" ( (binary_expression "st.st_mtim.tv_sec < (int)local_a4" (field_expression "st.st_mtim.tv_sec" (field_expression "st.st_mtim" identifier . field_identifier) . field_identifier) < (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier)) )) (goto_statement "goto LAB_00022bdb;" goto statement_identifier ;)) (expression_statement "*(char **)(puVar23 + -0x10) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0x10) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x227c9;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x227c9" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));" (assignment_expression "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + -0x10))" identifier = (cast_expression "(fileinfo *)quote(*(char **)(puVar23 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(*(char **)(puVar23 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";" (assignment_expression "*(char **)(puVar23 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n"" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (string_literal ""Remote file no newer than local file %s -- not retrieving.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x227e2;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x227e2" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(fileinfo **)(puVar23 + -8) = local_a4;" (assignment_expression "*(fileinfo **)(puVar23 + -8) = local_a4" (pointer_expression "*(fileinfo **)(puVar23 + -8)" * (cast_expression "(fileinfo **)(puVar23 + -8)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x227f4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x227f4" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(log_options *)(puVar23 + -0x10)" * (cast_expression "(log_options *)(puVar23 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "fVar22 = local_90->type;" (assignment_expression "fVar22 = local_90->type" identifier = (field_expression "local_90->type" identifier -> field_identifier)) ;) (if_statement "if (fVar22 == FT_DIRECTORY) {\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }" if (parenthesized_expression "(fVar22 == FT_DIRECTORY)" ( (binary_expression "fVar22 == FT_DIRECTORY" identifier == identifier) )) (compound_statement "{\n                uVar20 = 0;\n                goto LAB_0002269e;\n              }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002269e;" goto statement_identifier ;) })) (if_statement "if (fVar22 != FT_PLAINFILE) {\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }" if (parenthesized_expression "(fVar22 != FT_PLAINFILE)" ( (binary_expression "fVar22 != FT_PLAINFILE" identifier != identifier) )) (compound_statement "{\n                uVar20 = 0;\n                goto joined_r0x00022e2b;\n              }" { (expression_statement "uVar20 = 0;" (assignment_expression "uVar20 = 0" identifier = number_literal) ;) (goto_statement "goto joined_r0x00022e2b;" goto statement_identifier ;) })) (labeled_statement "LAB_00022810:\n              puVar24 = puVar23 + -8;" statement_identifier : (expression_statement "puVar24 = puVar23 + -8;" (assignment_expression "puVar24 = puVar23 + -8" identifier = (binary_expression "puVar23 + -8" identifier + number_literal)) ;)) (labeled_statement "LAB_00022813:\n              *(char **)(puVar24 + -4) = con->target;" statement_identifier : (expression_statement "*(char **)(puVar24 + -4) = con->target;" (assignment_expression "*(char **)(puVar24 + -4) = con->target" (pointer_expression "*(char **)(puVar24 + -4)" * (cast_expression "(char **)(puVar24 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + -4)" ( (binary_expression "puVar24 + -4" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;)) (expression_statement "*(char ***)(puVar24 + -8) = &actual_target;" (assignment_expression "*(char ***)(puVar24 + -8) = &actual_target" (pointer_expression "*(char ***)(puVar24 + -8)" * (cast_expression "(char ***)(puVar24 + -8)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar24 + -8)" ( (binary_expression "puVar24 + -8" identifier + number_literal) )))) = (pointer_expression "&actual_target" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar24 + -0xc) = 0x2281f;" (assignment_expression "*(undefined4 *)(puVar24 + -0xc) = 0x2281f" (pointer_expression "*(undefined4 *)(puVar24 + -0xc)" * (cast_expression "(undefined4 *)(puVar24 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar24 + -0xc)" ( (binary_expression "puVar24 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4));" (call_expression "set_local_file(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4))" identifier (argument_list "(*(char ***)(puVar24 + -8),*(char **)(puVar24 + -4))" ( (pointer_expression "*(char ***)(puVar24 + -8)" * (cast_expression "(char ***)(puVar24 + -8)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar24 + -8)" ( (binary_expression "puVar24 + -8" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar24 + -4)" * (cast_expression "(char **)(puVar24 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar24 + -4)" ( (binary_expression "puVar24 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "puVar23 = puVar24 + 8;" (assignment_expression "puVar23 = puVar24 + 8" identifier = (binary_expression "puVar24 + 8" identifier + number_literal)) ;) (goto_statement "goto LAB_00022822;" goto statement_identifier ;) })) (labeled_statement "LAB_000229b3:\n            fVar22 = local_90->type;" statement_identifier : (expression_statement "fVar22 = local_90->type;" (assignment_expression "fVar22 = local_90->type" identifier = (field_expression "local_90->type" identifier -> field_identifier)) ;)) (labeled_statement "joined_r0x00022c30:\n            if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;" statement_identifier : (if_statement "if (fVar22 == FT_DIRECTORY) goto LAB_0002269e;" if (parenthesized_expression "(fVar22 == FT_DIRECTORY)" ( (binary_expression "fVar22 == FT_DIRECTORY" identifier == identifier) )) (goto_statement "goto LAB_0002269e;" goto statement_identifier ;))) (if_statement "if (fVar22 != FT_PLAINFILE) {\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }" if (parenthesized_expression "(fVar22 != FT_PLAINFILE)" ( (binary_expression "fVar22 != FT_PLAINFILE" identifier != identifier) )) (compound_statement "{\njoined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;\n              if (local_94->retr_symlinks == false) goto LAB_000229f0;\n              if (uVar20 == 0) goto LAB_00022810;\n            }" { (labeled_statement "joined_r0x00022e2b:\n              if (fVar22 != FT_SYMLINK) goto LAB_000226dd;" statement_identifier : (if_statement "if (fVar22 != FT_SYMLINK) goto LAB_000226dd;" if (parenthesized_expression "(fVar22 != FT_SYMLINK)" ( (binary_expression "fVar22 != FT_SYMLINK" identifier != identifier) )) (goto_statement "goto LAB_000226dd;" goto statement_identifier ;))) (if_statement "if (local_94->retr_symlinks == false) goto LAB_000229f0;" if (parenthesized_expression "(local_94->retr_symlinks == false)" ( (binary_expression "local_94->retr_symlinks == false" (field_expression "local_94->retr_symlinks" identifier -> field_identifier) == false) )) (goto_statement "goto LAB_000229f0;" goto statement_identifier ;)) (if_statement "if (uVar20 == 0) goto LAB_00022810;" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00022810;" goto statement_identifier ;)) })) }) (else_clause "else {\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" else (compound_statement "{\n            if (fVar22 == FT_DIRECTORY) goto LAB_00022699;\nLAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" { (if_statement "if (fVar22 == FT_DIRECTORY) goto LAB_00022699;" if (parenthesized_expression "(fVar22 == FT_DIRECTORY)" ( (binary_expression "fVar22 == FT_DIRECTORY" identifier == identifier) )) (goto_statement "goto LAB_00022699;" goto statement_identifier ;)) (labeled_statement "LAB_000224d0:\n            if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" statement_identifier : (if_statement "if (fVar22 != FT_PLAINFILE) {\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" if (parenthesized_expression "(fVar22 != FT_PLAINFILE)" ( (binary_expression "fVar22 != FT_PLAINFILE" identifier != identifier) )) (compound_statement "{\n              if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }\n              uVar20 = 1;\n              if (local_94->retr_symlinks != false) goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n              if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" { (if_statement "if (fVar22 != FT_SYMLINK) {\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }" if (parenthesized_expression "(fVar22 != FT_SYMLINK)" ( (binary_expression "fVar22 != FT_SYMLINK" identifier != identifier) )) (compound_statement "{\n                uVar20 = 1;\nLAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(char **)(puVar23 + -0x10) = local_90->name;\n                *(undefined4 *)(puVar23 + -0x14) = 0x226f4;\n                pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));\n                *(undefined4 *)(puVar23 + -8) = 5;\n                pcVar11 = "%s: unknown/unsupported file type.\n";\n                local_a4 = pfVar12;\n                goto LAB_00022705;\n              }" { (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000226dd:\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);" statement_identifier : (expression_statement "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);" (assignment_expression "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_ac._1_3_,uVar20)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,uVar20)" identifier (argument_list "(local_ac._1_3_,uVar20)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;)) (expression_statement "*(char **)(puVar23 + -0x10) = local_90->name;" (assignment_expression "*(char **)(puVar23 + -0x10) = local_90->name" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (field_expression "local_90->name" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x226f4;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x226f4" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10));" (assignment_expression "pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + -0x10))" identifier = (cast_expression "(fileinfo *)quote(*(char **)(puVar23 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(*(char **)(puVar23 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar11 = "%s: unknown/unsupported file type.\n";" (assignment_expression "pcVar11 = "%s: unknown/unsupported file type.\n"" identifier = (string_literal ""%s: unknown/unsupported file type.\n"" " string_content escape_sequence ")) ;) (expression_statement "local_a4 = pfVar12;" (assignment_expression "local_a4 = pfVar12" identifier = identifier) ;) (goto_statement "goto LAB_00022705;" goto statement_identifier ;) })) (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" identifier = number_literal) ;) (if_statement "if (local_94->retr_symlinks != false) goto LAB_000224f5;" if (parenthesized_expression "(local_94->retr_symlinks != false)" ( (binary_expression "local_94->retr_symlinks != false" (field_expression "local_94->retr_symlinks" identifier -> field_identifier) != false) )) (goto_statement "goto LAB_000224f5;" goto statement_identifier ;)) (labeled_statement "LAB_000229f0:\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);" statement_identifier : (expression_statement "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);" (assignment_expression "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_a4._1_3_,uVar20)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,uVar20)" identifier (argument_list "(local_a4._1_3_,uVar20)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;)) (if_statement "if (local_90->linkto == (char *)0x0) {\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }\n              else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }" if (parenthesized_expression "(local_90->linkto == (char *)0x0)" ( (binary_expression "local_90->linkto == (char *)0x0" (field_expression "local_90->linkto" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                *(undefined4 *)(puVar23 + -8) = 5;\n                *(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar23 + -0x10) = 0;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22cdb;\n                uVar15 = dcgettext();\n                *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                *(undefined4 *)(puVar23 + -0x10) = 1;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22ce5;\n                logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                uVar20 = (byte)local_a4;\n              }" { (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n";" (assignment_expression "*(char **)(puVar23 + -0xc) = "Invalid name of the symlink, skipping.\n"" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (string_literal ""Invalid name of the symlink, skipping.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22cdb;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22cdb" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22ce5;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22ce5" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "logputs(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(log_options *)(puVar23 + -0x10)" * (cast_expression "(log_options *)(puVar23 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar20 = (byte)local_a4;" (assignment_expression "uVar20 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }) (else_clause "else {\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }" else (compound_statement "{\n                *(stat **)(puVar23 + -8) = &st;\n                *(char **)(puVar23 + -0xc) = con->target;\n                *(undefined4 *)(puVar23 + -0x10) = 3;\n                *(undefined4 *)(puVar23 + -0x14) = 0x22a18;\n                iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));\n                pfVar12 = (fileinfo *)local_90->linkto;\n                puVar13 = puVar23;\n                uVar20 = (byte)local_a4;\n                if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }\n                local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);\n                *(fileinfo **)(puVar13 + -0x10) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a51;\n                pcVar11 = quote(*(char **)(puVar13 + -0x10));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a5c;\n                local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));\n                *(undefined4 *)(puVar13 + -8) = 5;\n                *(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a75;\n                uVar15 = dcgettext();\n                pfVar12 = local_a4;\n                *(char **)(puVar13 + -0x14) = pcVar11;\n                *(fileinfo **)(puVar13 + -0x18) = pfVar12;\n                *(undefined4 *)(puVar13 + -0x1c) = uVar15;\n                *(undefined4 *)(puVar13 + -0x20) = 0;\n                *(undefined4 *)(puVar13 + -0x24) = 0x22a85;\n                logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));\n                *(char **)(puVar13 + -0x10) = con->target;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar13 + -0x10));\n                pfVar12 = local_90;\n                *(char **)(puVar13 + -0xc) = con->target;\n                *(char **)(puVar13 + -0x10) = pfVar12->linkto;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22aa3;\n                iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                uVar20 = (byte)local_ac;\n                if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }\n                local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);\n                *(char **)(puVar13 + -0xc) = "\n";\n                *(undefined4 *)(puVar13 + -0x10) = 0;\n                *(undefined4 *)(puVar13 + -0x14) = 0x22acd;\n                logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                puVar23 = puVar13;\n                uVar20 = (byte)local_a4;\n              }" { (expression_statement "*(stat **)(puVar23 + -8) = &st;" (assignment_expression "*(stat **)(puVar23 + -8) = &st" (pointer_expression "*(stat **)(puVar23 + -8)" * (cast_expression "(stat **)(puVar23 + -8)" ( (type_descriptor "stat **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = (pointer_expression "&st" & identifier)) ;) (expression_statement "*(char **)(puVar23 + -0xc) = con->target;" (assignment_expression "*(char **)(puVar23 + -0xc) = con->target" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22a18;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22a18" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8));" (assignment_expression "iVar14 = __lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8))" identifier = (call_expression "__lxstat64(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8))" identifier (argument_list "(*(int *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc),\n                                    *(stat64 **)(puVar23 + -8))" ( (pointer_expression "*(int *)(puVar23 + -0x10)" * (cast_expression "(int *)(puVar23 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(stat64 **)(puVar23 + -8)" * (cast_expression "(stat64 **)(puVar23 + -8)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "pfVar12 = (fileinfo *)local_90->linkto;" (assignment_expression "pfVar12 = (fileinfo *)local_90->linkto" identifier = (cast_expression "(fileinfo *)local_90->linkto" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_90->linkto" identifier -> field_identifier))) ;) (expression_statement "puVar13 = puVar23;" (assignment_expression "puVar13 = puVar23" identifier = identifier) ;) (expression_statement "uVar20 = (byte)local_a4;" (assignment_expression "uVar20 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }" if (parenthesized_expression "((iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000))" ( (binary_expression "(iVar14 == 0) && ((st.st_mode & 0xf000) == 0xa000)" (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) && (parenthesized_expression "((st.st_mode & 0xf000) == 0xa000)" ( (binary_expression "(st.st_mode & 0xf000) == 0xa000" (parenthesized_expression "(st.st_mode & 0xf000)" ( (binary_expression "st.st_mode & 0xf000" (field_expression "st.st_mode" identifier . field_identifier) & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  *(fileinfo **)(puVar23 + -0x10) = pfVar12;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22d29;\n                  sVar16 = strlen(*(char **)(puVar23 + -0x10));\n                  iVar14 = -(sVar16 + 0x1c & 0xfffffff0);\n                  puVar13 = puVar23 + iVar14;\n                  *(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;\n                  *(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                  local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);\n                  *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;\n                  sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                  if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }\n                }" { (expression_statement "*(fileinfo **)(puVar23 + -0x10) = pfVar12;" (assignment_expression "*(fileinfo **)(puVar23 + -0x10) = pfVar12" (pointer_expression "*(fileinfo **)(puVar23 + -0x10)" * (cast_expression "(fileinfo **)(puVar23 + -0x10)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22d29;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22d29" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar16 = strlen(*(char **)(puVar23 + -0x10));" (assignment_expression "sVar16 = strlen(*(char **)(puVar23 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar23 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar14 = -(sVar16 + 0x1c & 0xfffffff0);" (assignment_expression "iVar14 = -(sVar16 + 0x1c & 0xfffffff0)" identifier = (unary_expression "-(sVar16 + 0x1c & 0xfffffff0)" - (parenthesized_expression "(sVar16 + 0x1c & 0xfffffff0)" ( (binary_expression "sVar16 + 0x1c & 0xfffffff0" (binary_expression "sVar16 + 0x1c" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar13 = puVar23 + iVar14;" (assignment_expression "puVar13 = puVar23 + iVar14" identifier = (binary_expression "puVar23 + iVar14" identifier + identifier)) ;) (expression_statement "*(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1;" (assignment_expression "*(size_t *)(puVar23 + iVar14 + -8) = sVar16 + 1" (pointer_expression "*(size_t *)(puVar23 + iVar14 + -8)" * (cast_expression "(size_t *)(puVar23 + iVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -8)" ( (binary_expression "puVar23 + iVar14 + -8" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = (binary_expression "sVar16 + 1" identifier + number_literal)) ;) (expression_statement "*(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);" (assignment_expression "*(fileinfo **)(puVar23 + iVar14 + -0xc) =\n                       (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR)" (pointer_expression "*(fileinfo **)(puVar23 + iVar14 + -0xc)" * (cast_expression "(fileinfo **)(puVar23 + iVar14 + -0xc)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0xc)" ( (binary_expression "puVar23 + iVar14 + -0xc" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = (cast_expression "(fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR)" ( (binary_expression "(uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR" (call_expression "(uint)(puVar23 + iVar14 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar23 + iVar14 + 0xf)" ( (binary_expression "puVar23 + iVar14 + 0xf" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) ))) & (unary_expression "~FTPSRVERR" ~ identifier)) )))) ;) (expression_statement "*(char **)(puVar23 + iVar14 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar23 + iVar14 + -0x10) = con->target" (pointer_expression "*(char **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(char **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR);" (assignment_expression "local_ac = (fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR)" identifier = (cast_expression "(fileinfo *)((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR)" ( (binary_expression "(uint)(puVar23 + iVar14 + 0xf) & ~FTPSRVERR" (call_expression "(uint)(puVar23 + iVar14 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar23 + iVar14 + 0xf)" ( (binary_expression "puVar23 + iVar14 + 0xf" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) ))) & (unary_expression "~FTPSRVERR" ~ identifier)) )))) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22d53" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x14)" ( (binary_expression "puVar23 + iVar14 + -0x14" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));" (assignment_expression "sVar17 = readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8))" identifier = (call_expression "readlink(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8))" identifier (argument_list "(*(char **)(puVar23 + iVar14 + -0x10),\n                                    *(char **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8))" ( (pointer_expression "*(char **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(char **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + iVar14 + -0xc)" * (cast_expression "(char **)(puVar23 + iVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0xc)" ( (binary_expression "puVar23 + iVar14 + -0xc" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) , (pointer_expression "*(size_t *)(puVar23 + iVar14 + -8)" * (cast_expression "(size_t *)(puVar23 + iVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -8)" ( (binary_expression "puVar23 + iVar14 + -8" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) )))) ;) (if_statement "if (sVar16 == sVar17) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }" if (parenthesized_expression "(sVar16 == sVar17)" ( (binary_expression "sVar16 == sVar17" identifier == identifier) )) (compound_statement "{\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    *(size_t *)(puVar23 + iVar14 + -8) = sVar16;\n                    *(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;\n                    *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;\n                    local_a4 = pfVar12;\n                    *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;\n                    iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));\n                    pfVar12 = local_a4;\n                    uVar20 = (undefined1)local_c0;\n                    if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }\n                  }" { (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4)" identifier = (call_expression "CONCAT31(local_c0._1_3_,(byte)local_a4)" identifier (argument_list "(local_c0._1_3_,(byte)local_a4)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) )))) ;) (expression_statement "pfVar12 = (fileinfo *)local_90->linkto;" (assignment_expression "pfVar12 = (fileinfo *)local_90->linkto" identifier = (cast_expression "(fileinfo *)local_90->linkto" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_90->linkto" identifier -> field_identifier))) ;) (expression_statement "*(size_t *)(puVar23 + iVar14 + -8) = sVar16;" (assignment_expression "*(size_t *)(puVar23 + iVar14 + -8) = sVar16" (pointer_expression "*(size_t *)(puVar23 + iVar14 + -8)" * (cast_expression "(size_t *)(puVar23 + iVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -8)" ( (binary_expression "puVar23 + iVar14 + -8" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12;" (assignment_expression "*(fileinfo **)(puVar23 + iVar14 + -0xc) = pfVar12" (pointer_expression "*(fileinfo **)(puVar23 + iVar14 + -0xc)" * (cast_expression "(fileinfo **)(puVar23 + iVar14 + -0xc)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0xc)" ( (binary_expression "puVar23 + iVar14 + -0xc" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac;" (assignment_expression "*(fileinfo **)(puVar23 + iVar14 + -0x10) = local_ac" (pointer_expression "*(fileinfo **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(fileinfo **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_a4 = pfVar12;" (assignment_expression "local_a4 = pfVar12" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e65" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x14)" ( (binary_expression "puVar23 + iVar14 + -0x14" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8));" (assignment_expression "iVar19 = memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8))" identifier = (call_expression "memcmp(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8))" identifier (argument_list "(*(void **)(puVar23 + iVar14 + -0x10),\n                                    *(void **)(puVar23 + iVar14 + -0xc),\n                                    *(size_t *)(puVar23 + iVar14 + -8))" ( (pointer_expression "*(void **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(void **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) , (pointer_expression "*(void **)(puVar23 + iVar14 + -0xc)" * (cast_expression "(void **)(puVar23 + iVar14 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0xc)" ( (binary_expression "puVar23 + iVar14 + -0xc" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) , (pointer_expression "*(size_t *)(puVar23 + iVar14 + -8)" * (cast_expression "(size_t *)(puVar23 + iVar14 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -8)" ( (binary_expression "puVar23 + iVar14 + -8" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) )))) ;) (expression_statement "pfVar12 = local_a4;" (assignment_expression "pfVar12 = local_a4" identifier = identifier) ;) (expression_statement "uVar20 = (undefined1)local_c0;" (assignment_expression "uVar20 = (undefined1)local_c0" identifier = (cast_expression "(undefined1)local_c0" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (if_statement "if (iVar19 == 0) {\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }" if (parenthesized_expression "(iVar19 == 0)" ( (binary_expression "iVar19 == 0" identifier == number_literal) )) (compound_statement "{\n                      *(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;\n                      pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(char **)(puVar23 + iVar14 + -0x10) = con->target;\n                      local_ac = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;\n                      local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));\n                      *(undefined4 *)(puVar23 + iVar14 + -8) = 5;\n                      *(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;\n                      uVar15 = dcgettext();\n                      pfVar12 = local_a4;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;\n                      *(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;\n                      *(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;\n                      logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));\n                      puVar24 = puVar23 + iVar14 + -8;\n                      goto LAB_00022813;\n                    }" { (expression_statement "*(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4;" (assignment_expression "*(fileinfo **)(puVar23 + iVar14 + -0x10) = local_a4" (pointer_expression "*(fileinfo **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(fileinfo **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e86" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x14)" ( (binary_expression "puVar23 + iVar14 + -0x14" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));" (assignment_expression "pfVar12 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10))" identifier = (cast_expression "(fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(*(char **)(puVar23 + iVar14 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + iVar14 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(char **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) ))))) ;) (expression_statement "*(char **)(puVar23 + iVar14 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar23 + iVar14 + -0x10) = con->target" (pointer_expression "*(char **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(char **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "local_ac = pfVar12;" (assignment_expression "local_ac = pfVar12" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22e95" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x14)" ( (binary_expression "puVar23 + iVar14 + -0x14" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10));" (assignment_expression "local_a4 = (fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10))" identifier = (cast_expression "(fileinfo *)quote(*(char **)(puVar23 + iVar14 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(*(char **)(puVar23 + iVar14 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + iVar14 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + iVar14 + -0x10)" * (cast_expression "(char **)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -8)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -8)" ( (binary_expression "puVar23 + iVar14 + -8" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";" (assignment_expression "*(char **)(puVar23 + iVar14 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n"" (pointer_expression "*(char **)(puVar23 + iVar14 + -0xc)" * (cast_expression "(char **)(puVar23 + iVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0xc)" ( (binary_expression "puVar23 + iVar14 + -0xc" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = (string_literal ""Already have correct symlink %s -> %s\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x10)" ( (binary_expression "puVar23 + iVar14 + -0x10" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14) = 0x22eae" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x14)" ( (binary_expression "puVar23 + iVar14 + -0x14" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "pfVar12 = local_a4;" (assignment_expression "pfVar12 = local_a4" identifier = identifier) ;) (expression_statement "*(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac;" (assignment_expression "*(fileinfo **)(puVar23 + iVar14 + -0x14) = local_ac" (pointer_expression "*(fileinfo **)(puVar23 + iVar14 + -0x14)" * (cast_expression "(fileinfo **)(puVar23 + iVar14 + -0x14)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x14)" ( (binary_expression "puVar23 + iVar14 + -0x14" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12;" (assignment_expression "*(fileinfo **)(puVar23 + iVar14 + -0x18) = pfVar12" (pointer_expression "*(fileinfo **)(puVar23 + iVar14 + -0x18)" * (cast_expression "(fileinfo **)(puVar23 + iVar14 + -0x18)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x18)" ( (binary_expression "puVar23 + iVar14 + -0x18" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x1c) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x1c)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x1c)" ( (binary_expression "puVar23 + iVar14 + -0x1c" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x20)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x20)" ( (binary_expression "puVar23 + iVar14 + -0x20" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4;" (assignment_expression "*(undefined4 *)(puVar23 + iVar14 + -0x24) = 0x22ec4" (pointer_expression "*(undefined4 *)(puVar23 + iVar14 + -0x24)" * (cast_expression "(undefined4 *)(puVar23 + iVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x24)" ( (binary_expression "puVar23 + iVar14 + -0x24" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c));" (call_expression "logprintf(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c))" identifier (argument_list "(*(log_options *)(puVar23 + iVar14 + -0x20),\n                                *(char **)(puVar23 + iVar14 + -0x1c))" ( (pointer_expression "*(log_options *)(puVar23 + iVar14 + -0x20)" * (cast_expression "(log_options *)(puVar23 + iVar14 + -0x20)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + iVar14 + -0x20)" ( (binary_expression "puVar23 + iVar14 + -0x20" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + iVar14 + -0x1c)" * (cast_expression "(char **)(puVar23 + iVar14 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + iVar14 + -0x1c)" ( (binary_expression "puVar23 + iVar14 + -0x1c" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal) )))) ))) ;) (expression_statement "puVar24 = puVar23 + iVar14 + -8;" (assignment_expression "puVar24 = puVar23 + iVar14 + -8" identifier = (binary_expression "puVar23 + iVar14 + -8" (binary_expression "puVar23 + iVar14" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_00022813;" goto statement_identifier ;) })) }) (else_clause "else {\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }" else (compound_statement "{\n                    pfVar12 = (fileinfo *)local_90->linkto;\n                    puVar13 = puVar23 + iVar14;\n                    uVar20 = (byte)local_a4;\n                  }" { (expression_statement "pfVar12 = (fileinfo *)local_90->linkto;" (assignment_expression "pfVar12 = (fileinfo *)local_90->linkto" identifier = (cast_expression "(fileinfo *)local_90->linkto" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_90->linkto" identifier -> field_identifier))) ;) (expression_statement "puVar13 = puVar23 + iVar14;" (assignment_expression "puVar13 = puVar23 + iVar14" identifier = (binary_expression "puVar23 + iVar14" identifier + identifier)) ;) (expression_statement "uVar20 = (byte)local_a4;" (assignment_expression "uVar20 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) })) (expression_statement "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20);" (assignment_expression "local_ac = (fileinfo *)CONCAT31(local_ac._1_3_,uVar20)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_ac._1_3_,uVar20)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,uVar20)" identifier (argument_list "(local_ac._1_3_,uVar20)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(fileinfo **)(puVar13 + -0x10) = pfVar12;" (assignment_expression "*(fileinfo **)(puVar13 + -0x10) = pfVar12" (pointer_expression "*(fileinfo **)(puVar13 + -0x10)" * (cast_expression "(fileinfo **)(puVar13 + -0x10)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22a51;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22a51" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar11 = quote(*(char **)(puVar13 + -0x10));" (assignment_expression "pcVar11 = quote(*(char **)(puVar13 + -0x10))" identifier = (call_expression "quote(*(char **)(puVar13 + -0x10))" identifier (argument_list "(*(char **)(puVar13 + -0x10))" ( (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar13 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar13 + -0x10) = con->target" (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22a5c;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22a5c" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10));" (assignment_expression "local_a4 = (fileinfo *)quote(*(char **)(puVar13 + -0x10))" identifier = (cast_expression "(fileinfo *)quote(*(char **)(puVar13 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "quote(*(char **)(puVar13 + -0x10))" identifier (argument_list "(*(char **)(puVar13 + -0x10))" ( (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined4 *)(puVar13 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar13 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar13 + -8)" * (cast_expression "(undefined4 *)(puVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -8)" ( (binary_expression "puVar13 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n";" (assignment_expression "*(char **)(puVar13 + -0xc) = "Creating symlink %s -> %s\n"" (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) = (string_literal ""Creating symlink %s -> %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar13 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar13 + -0x10)" * (cast_expression "(undefined4 *)(puVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22a75;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22a75" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "pfVar12 = local_a4;" (assignment_expression "pfVar12 = local_a4" identifier = identifier) ;) (expression_statement "*(char **)(puVar13 + -0x14) = pcVar11;" (assignment_expression "*(char **)(puVar13 + -0x14) = pcVar11" (pointer_expression "*(char **)(puVar13 + -0x14)" * (cast_expression "(char **)(puVar13 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(fileinfo **)(puVar13 + -0x18) = pfVar12;" (assignment_expression "*(fileinfo **)(puVar13 + -0x18) = pfVar12" (pointer_expression "*(fileinfo **)(puVar13 + -0x18)" * (cast_expression "(fileinfo **)(puVar13 + -0x18)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x18)" ( (binary_expression "puVar13 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x1c) = uVar15;" (assignment_expression "*(undefined4 *)(puVar13 + -0x1c) = uVar15" (pointer_expression "*(undefined4 *)(puVar13 + -0x1c)" * (cast_expression "(undefined4 *)(puVar13 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x1c)" ( (binary_expression "puVar13 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar13 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar13 + -0x20)" * (cast_expression "(undefined4 *)(puVar13 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x20)" ( (binary_expression "puVar13 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x24) = 0x22a85;" (assignment_expression "*(undefined4 *)(puVar13 + -0x24) = 0x22a85" (pointer_expression "*(undefined4 *)(puVar13 + -0x24)" * (cast_expression "(undefined4 *)(puVar13 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x24)" ( (binary_expression "puVar13 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c));" (call_expression "logprintf(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c))" identifier (argument_list "(*(log_options *)(puVar13 + -0x20),*(char **)(puVar13 + -0x1c))" ( (pointer_expression "*(log_options *)(puVar13 + -0x20)" * (cast_expression "(log_options *)(puVar13 + -0x20)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x20)" ( (binary_expression "puVar13 + -0x20" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar13 + -0x1c)" * (cast_expression "(char **)(puVar13 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x1c)" ( (binary_expression "puVar13 + -0x1c" identifier + number_literal) )))) ))) ;) (expression_statement "*(char **)(puVar13 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar13 + -0x10) = con->target" (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22a90;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22a90" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar13 + -0x10));" (call_expression "unlink(*(char **)(puVar13 + -0x10))" identifier (argument_list "(*(char **)(puVar13 + -0x10))" ( (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "pfVar12 = local_90;" (assignment_expression "pfVar12 = local_90" identifier = identifier) ;) (expression_statement "*(char **)(puVar13 + -0xc) = con->target;" (assignment_expression "*(char **)(puVar13 + -0xc) = con->target" (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "*(char **)(puVar13 + -0x10) = pfVar12->linkto;" (assignment_expression "*(char **)(puVar13 + -0x10) = pfVar12->linkto" (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = (field_expression "pfVar12->linkto" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22aa3;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22aa3" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));" (assignment_expression "iVar14 = symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc))" identifier = (call_expression "symlink(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc))" identifier (argument_list "(*(char **)(puVar13 + -0x10),*(char **)(puVar13 + -0xc))" ( (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "uVar20 = (byte)local_ac;" (assignment_expression "uVar20 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar14 == -1) {\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (compound_statement "{\n                  local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar13 + -4) = 0x22db3;\n                  piVar18 = __errno_location();\n                  *(int *)(puVar13 + -0x10) = *piVar18;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dbd;\n                  pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));\n                  *(char **)(puVar13 + -8) = pcVar11;\n                  *(char **)(puVar13 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar13 + -0x10) = 1;\n                  *(undefined4 *)(puVar13 + -0x14) = 0x22dcf;\n                  logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));\n                  uVar20 = (byte)local_a4;\n                }" { (expression_statement "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac);" (assignment_expression "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_a4._1_3_,(byte)local_ac)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,(byte)local_ac)" identifier (argument_list "(local_a4._1_3_,(byte)local_ac)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar13 + -4) = 0x22db3;" (assignment_expression "*(undefined4 *)(puVar13 + -4) = 0x22db3" (pointer_expression "*(undefined4 *)(puVar13 + -4)" * (cast_expression "(undefined4 *)(puVar13 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -4)" ( (binary_expression "puVar13 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar18 = __errno_location();" (assignment_expression "piVar18 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar13 + -0x10) = *piVar18;" (assignment_expression "*(int *)(puVar13 + -0x10) = *piVar18" (pointer_expression "*(int *)(puVar13 + -0x10)" * (cast_expression "(int *)(puVar13 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar18" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22dbd;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22dbd" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10));" (assignment_expression "pcVar11 = rpl_strerror(*(int *)(puVar13 + -0x10))" identifier = (call_expression "rpl_strerror(*(int *)(puVar13 + -0x10))" identifier (argument_list "(*(int *)(puVar13 + -0x10))" ( (pointer_expression "*(int *)(puVar13 + -0x10)" * (cast_expression "(int *)(puVar13 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "*(char **)(puVar13 + -8) = pcVar11;" (assignment_expression "*(char **)(puVar13 + -8) = pcVar11" (pointer_expression "*(char **)(puVar13 + -8)" * (cast_expression "(char **)(puVar13 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -8)" ( (binary_expression "puVar13 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar13 + -0xc) = "symlink: %s\n";" (assignment_expression "*(char **)(puVar13 + -0xc) = "symlink: %s\n"" (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) = (string_literal ""symlink: %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar13 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar13 + -0x10)" * (cast_expression "(undefined4 *)(puVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22dcf;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22dcf" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));" (call_expression "logprintf(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc))" identifier (argument_list "(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc))" ( (pointer_expression "*(log_options *)(puVar13 + -0x10)" * (cast_expression "(log_options *)(puVar13 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar20 = (byte)local_a4;" (assignment_expression "uVar20 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) })) (expression_statement "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20);" (assignment_expression "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,uVar20)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_a4._1_3_,uVar20)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,uVar20)" identifier (argument_list "(local_a4._1_3_,uVar20)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(char **)(puVar13 + -0xc) = "\n";" (assignment_expression "*(char **)(puVar13 + -0xc) = "\n"" (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar13 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar13 + -0x10)" * (cast_expression "(undefined4 *)(puVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22acd;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22acd" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc));" (call_expression "logputs(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc))" identifier (argument_list "(*(log_options *)(puVar13 + -0x10),*(char **)(puVar13 + -0xc))" ( (pointer_expression "*(log_options *)(puVar13 + -0x10)" * (cast_expression "(log_options *)(puVar13 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "puVar23 = puVar13;" (assignment_expression "puVar23 = puVar13" identifier = identifier) ;) (expression_statement "uVar20 = (byte)local_a4;" (assignment_expression "uVar20 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) (goto_statement "goto LAB_00022729;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_000224f5:\n          pfVar12 = local_90;" statement_identifier : (expression_statement "pfVar12 = local_90;" (assignment_expression "pfVar12 = local_90" identifier = identifier) ;)) (expression_statement "puVar4 = local_b4;" (assignment_expression "puVar4 = local_b4" identifier = identifier) ;) (expression_statement "*(uint *)(puVar23 + -8) = (uint)local_b5;" (assignment_expression "*(uint *)(puVar23 + -8) = (uint)local_b5" (pointer_expression "*(uint *)(puVar23 + -8)" * (cast_expression "(uint *)(puVar23 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = (cast_expression "(uint)local_b5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "puVar6 = local_98;" (assignment_expression "puVar6 = local_98" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(ccon **)(puVar23 + -0x10) = con;" (assignment_expression "*(ccon **)(puVar23 + -0x10) = con" (pointer_expression "*(ccon **)(puVar23 + -0x10)" * (cast_expression "(ccon **)(puVar23 + -0x10)" ( (type_descriptor "ccon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2251a;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2251a" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8]);" (assignment_expression "pfVar12 = (fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8])" identifier = (cast_expression "(fileinfo *)\n                    ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8])" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ftp_loop_internal(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8])" identifier (argument_list "(puVar6,puVar4,pfVar12,*(ccon **)(puVar23 + -0x10),\n                                      *(char ***)(puVar23 + -0xc),(_Bool)puVar23[-8])" ( identifier , identifier , identifier , (pointer_expression "*(ccon **)(puVar23 + -0x10)" * (cast_expression "(ccon **)(puVar23 + -0x10)" ( (type_descriptor "ccon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char ***)(puVar23 + -0xc)" * (cast_expression "(char ***)(puVar23 + -0xc)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) , (cast_expression "(_Bool)puVar23[-8]" ( (type_descriptor "_Bool" type_identifier) ) (subscript_expression "puVar23[-8]" identifier [ number_literal ])) ))))) ;) (expression_statement "*(char **)(puVar23 + -0xc) = con->target;" (assignment_expression "*(char **)(puVar23 + -0xc) = con->target" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "local_a4 = pfVar12;" (assignment_expression "local_a4 = pfVar12" identifier = identifier) ;) (expression_statement "*(char ***)(puVar23 + -0x10) = &actual_target;" (assignment_expression "*(char ***)(puVar23 + -0x10) = &actual_target" (pointer_expression "*(char ***)(puVar23 + -0x10)" * (cast_expression "(char ***)(puVar23 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (pointer_expression "&actual_target" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2252e;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2252e" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "set_local_file(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(char ***)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(char ***)(puVar23 + -0x10)" * (cast_expression "(char ***)(puVar23 + -0x10)" ( (type_descriptor "char ***" primitive_type (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "pfVar12 = local_a4;" (assignment_expression "pfVar12 = local_a4" identifier = identifier) ;) (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;) (if_statement "if (actual_target != (char *)0x0) {\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }" if (parenthesized_expression "(actual_target != (char *)0x0)" ( (binary_expression "actual_target != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00022542:\n            pcVar11 = actual_target;\n            local_ac = local_90;\n            if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = pfVar12;\n            pfVar12 = local_ac;\n            actual_target = pcVar11;\n            if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }\n          }" { (labeled_statement "LAB_00022542:\n            pcVar11 = actual_target;" statement_identifier : (expression_statement "pcVar11 = actual_target;" (assignment_expression "pcVar11 = actual_target" identifier = identifier) ;)) (expression_statement "local_ac = local_90;" (assignment_expression "local_ac = local_90" identifier = identifier) ;) (if_statement "if (local_90->type == FT_PLAINFILE) {\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" if (parenthesized_expression "(local_90->type == FT_PLAINFILE)" ( (binary_expression "local_90->type == FT_PLAINFILE" (field_expression "local_90->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n              local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);\n              if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;\n              iVar14 = local_90->tstamp;\n              cVar3 = (byte)local_a4;\njoined_r0x00022b2f:\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }\n            }" { (expression_statement "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm);" (assignment_expression "local_a4 = (fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm)" identifier = (cast_expression "(fileinfo *)CONCAT31(local_a4._1_3_,local_94->preserve_perm)" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,local_94->preserve_perm)" identifier (argument_list "(local_a4._1_3_,local_94->preserve_perm)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (field_expression "local_94->preserve_perm" identifier -> field_identifier) ))))) ;) (if_statement "if (local_94->preserve_perm != false) {\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" if (parenthesized_expression "(local_94->preserve_perm != false)" ( (binary_expression "local_94->preserve_perm != false" (field_expression "local_94->preserve_perm" identifier -> field_identifier) != false) )) (compound_statement "{\n                if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }\n                pfVar12 = local_ac;\n                pfVar8 = local_ac;\n                if (actual_target == (char *)0x0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" { (if_statement "if (local_90->perms == 0) {\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }\n                else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }" if (parenthesized_expression "(local_90->perms == 0)" ( (binary_expression "local_90->perms == 0" (field_expression "local_90->perms" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n                  if (local_94->debug == false) goto LAB_00022593;\n                  local_ac = pfVar12;\n                  *(char **)(puVar23 + -0xc) = actual_target;\n                  *(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22ee2;\n                  debug_logprintf(*(char **)(puVar23 + -0x10));\n                }" { (if_statement "if (local_94->debug == false) goto LAB_00022593;" if (parenthesized_expression "(local_94->debug == false)" ( (binary_expression "local_94->debug == false" (field_expression "local_94->debug" identifier -> field_identifier) == false) )) (goto_statement "goto LAB_00022593;" goto statement_identifier ;)) (expression_statement "local_ac = pfVar12;" (assignment_expression "local_ac = pfVar12" identifier = identifier) ;) (expression_statement "*(char **)(puVar23 + -0xc) = actual_target;" (assignment_expression "*(char **)(puVar23 + -0xc) = actual_target" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n";" (assignment_expression "*(char **)(puVar23 + -0x10) = "Unrecognized permissions for %s.\n"" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (string_literal ""Unrecognized permissions for %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22ee2;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22ee2" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "debug_logprintf(*(char **)(puVar23 + -0x10));" (call_expression "debug_logprintf(*(char **)(puVar23 + -0x10))" identifier (argument_list "(*(char **)(puVar23 + -0x10))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }" else (compound_statement "{\n                  local_ac = pfVar12;\n                  *(int *)(puVar23 + -0xc) = local_90->perms;\n                  *(char **)(puVar23 + -0x10) = pcVar11;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22c50;\n                  iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));\n                  pcVar11 = actual_target;\n                  if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }\n                }" { (expression_statement "local_ac = pfVar12;" (assignment_expression "local_ac = pfVar12" identifier = identifier) ;) (expression_statement "*(int *)(puVar23 + -0xc) = local_90->perms;" (assignment_expression "*(int *)(puVar23 + -0xc) = local_90->perms" (pointer_expression "*(int *)(puVar23 + -0xc)" * (cast_expression "(int *)(puVar23 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (field_expression "local_90->perms" identifier -> field_identifier)) ;) (expression_statement "*(char **)(puVar23 + -0x10) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0x10) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22c50;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22c50" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc));" (assignment_expression "iVar14 = chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc))" identifier = (call_expression "chmod(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc))" identifier (argument_list "(*(char **)(puVar23 + -0x10),*(__mode_t *)(puVar23 + -0xc))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__mode_t *)(puVar23 + -0xc)" * (cast_expression "(__mode_t *)(puVar23 + -0xc)" ( (type_descriptor "__mode_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "pcVar11 = actual_target;" (assignment_expression "pcVar11 = actual_target" identifier = identifier) ;) (if_statement "if (iVar14 != 0) {\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }" if (parenthesized_expression "(iVar14 != 0)" ( (binary_expression "iVar14 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar23 + -8) = 5;\n                    *(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar23 + -0x10) = 0;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d89;\n                    uVar15 = dcgettext();\n                    *(char **)(puVar23 + -8) = pcVar11;\n                    *(undefined4 *)(puVar23 + -0xc) = uVar15;\n                    *(undefined4 *)(puVar23 + -0x10) = 1;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d95;\n                    logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n                  }" { (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n";" (assignment_expression "*(char **)(puVar23 + -0xc) = "Failed to set permissions for %s.\n"" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (string_literal ""Failed to set permissions for %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22d89;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22d89" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(char **)(puVar23 + -8) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -8) = pcVar11" (pointer_expression "*(char **)(puVar23 + -8)" * (cast_expression "(char **)(puVar23 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22d95;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22d95" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(log_options *)(puVar23 + -0x10)" * (cast_expression "(log_options *)(puVar23 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) })) }))) (expression_statement "pfVar12 = local_ac;" (assignment_expression "pfVar12 = local_ac" identifier = identifier) ;) (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;) (if_statement "if (actual_target == (char *)0x0) goto LAB_000225c8;" if (parenthesized_expression "(actual_target == (char *)0x0)" ( (binary_expression "actual_target == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000225c8;" goto statement_identifier ;)) (goto_statement "goto LAB_00022839;" goto statement_identifier ;) })) (labeled_statement "LAB_00022593:\n              local_a4._0_1_ = local_94->useservertimestamps;" statement_identifier : (expression_statement "local_a4._0_1_ = local_94->useservertimestamps;" (assignment_expression "local_a4._0_1_ = local_94->useservertimestamps" (field_expression "local_a4._0_1_" identifier . field_identifier) = (field_expression "local_94->useservertimestamps" identifier -> field_identifier)) ;)) (expression_statement "iVar14 = local_90->tstamp;" (assignment_expression "iVar14 = local_90->tstamp" identifier = (field_expression "local_90->tstamp" identifier -> field_identifier)) ;) (expression_statement "cVar3 = (byte)local_a4;" (assignment_expression "cVar3 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (labeled_statement "joined_r0x00022b2f:\n              pfVar8 = local_ac;" statement_identifier : (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;)) (expression_statement "pcVar11 = actual_target;" (assignment_expression "pcVar11 = actual_target" identifier = identifier) ;) (if_statement "if (cVar3 != '\0') {\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0002285a:\n                pfVar8 = local_ac;\n                pcVar11 = actual_target;\n                if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }\n              }" { (labeled_statement "LAB_0002285a:\n                pfVar8 = local_ac;" statement_identifier : (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;)) (expression_statement "pcVar11 = actual_target;" (assignment_expression "pcVar11 = actual_target" identifier = identifier) ;) (if_statement "if ((iVar14 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }" if (parenthesized_expression "((iVar14 != -1) && ((byte)local_a4 != '\0'))" ( (binary_expression "(iVar14 != -1) && ((byte)local_a4 != '\0')" (parenthesized_expression "(iVar14 != -1)" ( (binary_expression "iVar14 != -1" identifier != number_literal) )) && (parenthesized_expression "((byte)local_a4 != '\0')" ( (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  local_a4 = pfVar12;\n                  *(undefined4 *)(puVar23 + -0xc) = 0;\n                  *(char **)(puVar23 + -0x10) = con->target;\n                  *(undefined4 *)(puVar23 + -0x14) = 0x22b53;\n                  _Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));\n                  if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar14 = local_90->tstamp;\n                  pfVar12 = local_a4;\n                  pfVar8 = local_ac;\n                  pcVar11 = actual_target;\n                }" { (expression_statement "local_a4 = pfVar12;" (assignment_expression "local_a4 = pfVar12" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar23 + -0x10) = con->target" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22b53;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22b53" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "_Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc));" (assignment_expression "_Var9 = file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc))" identifier = (call_expression "file_exists_p(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc))" identifier (argument_list "(*(char **)(puVar23 + -0x10),\n                                        *(file_stats_t **)(puVar23 + -0xc))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(file_stats_t **)(puVar23 + -0xc)" * (cast_expression "(file_stats_t **)(puVar23 + -0xc)" ( (type_descriptor "file_stats_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) )))) ;) (if_statement "if (_Var9) {\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }" if (parenthesized_expression "(_Var9)" ( identifier )) (compound_statement "{\n                    *(long *)(puVar23 + -0xc) = local_90->tstamp;\n                    *(char **)(puVar23 + -0x10) = actual_target;\n                    *(undefined4 *)(puVar23 + -0x14) = 0x22d12;\n                    touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));\n                    pfVar12 = local_a4;\n                    pfVar8 = local_ac;\n                    goto LAB_000225c8;\n                  }" { (expression_statement "*(long *)(puVar23 + -0xc) = local_90->tstamp;" (assignment_expression "*(long *)(puVar23 + -0xc) = local_90->tstamp" (pointer_expression "*(long *)(puVar23 + -0xc)" * (cast_expression "(long *)(puVar23 + -0xc)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (field_expression "local_90->tstamp" identifier -> field_identifier)) ;) (expression_statement "*(char **)(puVar23 + -0x10) = actual_target;" (assignment_expression "*(char **)(puVar23 + -0x10) = actual_target" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x22d12;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x22d12" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc));" (call_expression "touch(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc))" identifier (argument_list "(*(char **)(puVar23 + -0x10),*(time_t *)(puVar23 + -0xc))" ( (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(time_t *)(puVar23 + -0xc)" * (cast_expression "(time_t *)(puVar23 + -0xc)" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "pfVar12 = local_a4;" (assignment_expression "pfVar12 = local_a4" identifier = identifier) ;) (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;) (goto_statement "goto LAB_000225c8;" goto statement_identifier ;) })) (expression_statement "iVar14 = local_90->tstamp;" (assignment_expression "iVar14 = local_90->tstamp" identifier = (field_expression "local_90->tstamp" identifier -> field_identifier)) ;) (expression_statement "pfVar12 = local_a4;" (assignment_expression "pfVar12 = local_a4" identifier = identifier) ;) (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;) (expression_statement "pcVar11 = actual_target;" (assignment_expression "pcVar11 = actual_target" identifier = identifier) ;) })) })) }) (else_clause "else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" else (compound_statement "{\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar14 = local_90->tstamp;\n              pfVar8 = local_ac;\n              pcVar11 = actual_target;\n              if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" { (expression_statement "local_a4._0_1_ = '\x01';" (assignment_expression "local_a4._0_1_ = '\x01'" (field_expression "local_a4._0_1_" identifier . field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_00022839:\n              iVar14 = local_90->tstamp;" statement_identifier : (expression_statement "iVar14 = local_90->tstamp;" (assignment_expression "iVar14 = local_90->tstamp" identifier = (field_expression "local_90->tstamp" identifier -> field_identifier)) ;)) (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;) (expression_statement "pcVar11 = actual_target;" (assignment_expression "pcVar11 = actual_target" identifier = identifier) ;) (if_statement "if (local_94->useservertimestamps != false) {\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" if (parenthesized_expression "(local_94->useservertimestamps != false)" ( (binary_expression "local_94->useservertimestamps != false" (field_expression "local_94->useservertimestamps" identifier -> field_identifier) != false) )) (compound_statement "{\n                if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" { (if_statement "if (local_90->type == FT_SYMLINK) {\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }" if (parenthesized_expression "(local_90->type == FT_SYMLINK)" ( (binary_expression "local_90->type == FT_SYMLINK" (field_expression "local_90->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n                  cVar3 = local_94->retr_symlinks;\n                  goto joined_r0x00022b2f;\n                }" { (expression_statement "cVar3 = local_94->retr_symlinks;" (assignment_expression "cVar3 = local_94->retr_symlinks" identifier = (field_expression "local_94->retr_symlinks" identifier -> field_identifier)) ;) (goto_statement "goto joined_r0x00022b2f;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002285a;" goto statement_identifier ;) })) }))) (expression_statement "local_ac = pfVar12;" (assignment_expression "local_ac = pfVar12" identifier = identifier) ;) (expression_statement "pfVar12 = local_ac;" (assignment_expression "pfVar12 = local_ac" identifier = identifier) ;) (expression_statement "actual_target = pcVar11;" (assignment_expression "actual_target = pcVar11" identifier = identifier) ;) (if_statement "if (iVar14 == -1) {\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }" if (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar23 + -8) = 5;\n              *(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar23 + -0x10) = 0;\n              local_a4 = (fileinfo *)pcVar11;\n              *(undefined4 *)(puVar23 + -0x14) = 0x2289b;\n              uVar15 = dcgettext();\n              *(fileinfo **)(puVar23 + -8) = local_a4;\n              *(undefined4 *)(puVar23 + -0xc) = uVar15;\n              *(undefined4 *)(puVar23 + -0x10) = 1;\n              *(undefined4 *)(puVar23 + -0x14) = 0x228ad;\n              logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));\n              pfVar12 = local_ac;\n              pfVar8 = local_ac;\n            }" { (expression_statement "*(undefined4 *)(puVar23 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar23 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar23 + -8)" * (cast_expression "(undefined4 *)(puVar23 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n";" (assignment_expression "*(char **)(puVar23 + -0xc) = "%s: corrupt time-stamp.\n"" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: corrupt time-stamp.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (fileinfo *)pcVar11;" (assignment_expression "local_a4 = (fileinfo *)pcVar11" identifier = (cast_expression "(fileinfo *)pcVar11" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x2289b;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x2289b" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(fileinfo **)(puVar23 + -8) = local_a4;" (assignment_expression "*(fileinfo **)(puVar23 + -8) = local_a4" (pointer_expression "*(fileinfo **)(puVar23 + -8)" * (cast_expression "(fileinfo **)(puVar23 + -8)" ( (type_descriptor "fileinfo **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -8)" ( (binary_expression "puVar23 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0xc) = uVar15;" (assignment_expression "*(undefined4 *)(puVar23 + -0xc) = uVar15" (pointer_expression "*(undefined4 *)(puVar23 + -0xc)" * (cast_expression "(undefined4 *)(puVar23 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar23 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar23 + -0x10)" * (cast_expression "(undefined4 *)(puVar23 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x228ad;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x228ad" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "logprintf(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(log_options *)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(log_options *)(puVar23 + -0x10)" * (cast_expression "(log_options *)(puVar23 + -0x10)" ( (type_descriptor "log_options *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "pfVar12 = local_ac;" (assignment_expression "pfVar12 = local_ac" identifier = identifier) ;) (expression_statement "pfVar8 = local_ac;" (assignment_expression "pfVar8 = local_ac" identifier = identifier) ;) })) })) (labeled_statement "LAB_000225c8:\n          local_ac = pfVar8;" statement_identifier : (expression_statement "local_ac = pfVar8;" (assignment_expression "local_ac = pfVar8" identifier = identifier) ;)) (expression_statement "*(char **)(puVar23 + -0x10) = con->target;" (assignment_expression "*(char **)(puVar23 + -0x10) = con->target" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = (field_expression "con->target" identifier -> field_identifier)) ;) (expression_statement "local_a4 = pfVar12;" (assignment_expression "local_a4 = pfVar12" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x225d9;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x225d9" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar23 + -0x10));" (call_expression "free(*(void **)(puVar23 + -0x10))" identifier (argument_list "(*(void **)(puVar23 + -0x10))" ( (pointer_expression "*(void **)(puVar23 + -0x10)" * (cast_expression "(void **)(puVar23 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "pcVar11 = local_a0;" (assignment_expression "pcVar11 = local_a0" identifier = identifier) ;) (expression_statement "con->target = local_9c;" (assignment_expression "con->target = local_9c" (field_expression "con->target" identifier -> field_identifier) = identifier) ;) (expression_statement "*(char **)(puVar23 + -0xc) = local_a0;" (assignment_expression "*(char **)(puVar23 + -0xc) = local_a0" (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(url **)(puVar23 + -0x10) = local_98;" (assignment_expression "*(url **)(puVar23 + -0x10) = local_98" (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x225f6;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x225f6" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc));" (call_expression "url_set_file(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" identifier (argument_list "(*(url **)(puVar23 + -0x10),*(char **)(puVar23 + -0xc))" ( (pointer_expression "*(url **)(puVar23 + -0x10)" * (cast_expression "(url **)(puVar23 + -0x10)" ( (type_descriptor "url **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar23 + -0xc)" * (cast_expression "(char **)(puVar23 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0xc)" ( (binary_expression "puVar23 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "*(char **)(puVar23 + -0x10) = pcVar11;" (assignment_expression "*(char **)(puVar23 + -0x10) = pcVar11" (pointer_expression "*(char **)(puVar23 + -0x10)" * (cast_expression "(char **)(puVar23 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar23 + -0x14) = 0x225fe;" (assignment_expression "*(undefined4 *)(puVar23 + -0x14) = 0x225fe" (pointer_expression "*(undefined4 *)(puVar23 + -0x14)" * (cast_expression "(undefined4 *)(puVar23 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar23 + -0x14)" ( (binary_expression "puVar23 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar23 + -0x10));" (call_expression "free(*(void **)(puVar23 + -0x10))" identifier (argument_list "(*(void **)(puVar23 + -0x10))" ( (pointer_expression "*(void **)(puVar23 + -0x10)" * (cast_expression "(void **)(puVar23 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -0x10)" ( (binary_expression "puVar23 + -0x10" identifier + number_literal) )))) ))) ;) (if_statement "if (local_a4 == (fileinfo *)0x1) break;" if (parenthesized_expression "(local_a4 == (fileinfo *)0x1)" ( (binary_expression "local_a4 == (fileinfo *)0x1" identifier == (cast_expression "(fileinfo *)0x1" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3);" (assignment_expression "puVar13 = (undefined1 *)((int)&local_a4[-1].tstamp + 3)" identifier = (cast_expression "(undefined1 *)((int)&local_a4[-1].tstamp + 3)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_a4[-1].tstamp + 3)" ( (binary_expression "(int)&local_a4[-1].tstamp + 3" (cast_expression "(int)&local_a4[-1].tstamp" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_a4[-1].tstamp" & (field_expression "local_a4[-1].tstamp" (subscript_expression "local_a4[-1]" identifier [ number_literal ]) . field_identifier))) + number_literal) )))) ;) (if_statement "if (puVar13 < (undefined1 *)0x20) {\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }" if (parenthesized_expression "(puVar13 < (undefined1 *)0x20)" ( (binary_expression "puVar13 < (undefined1 *)0x20" identifier < (cast_expression "(undefined1 *)0x20" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;\n          }" { (labeled_statement "LAB_000227a4:\n            if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;" statement_identifier : (if_statement "if ((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0) break;" if (parenthesized_expression "((0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0)" ( (binary_expression "(0x80400001U >> ((uint)puVar13 & 0x1f) & 1) != 0" (parenthesized_expression "(0x80400001U >> ((uint)puVar13 & 0x1f) & 1)" ( (binary_expression "0x80400001U >> ((uint)puVar13 & 0x1f) & 1" (binary_expression "0x80400001U >> ((uint)puVar13 & 0x1f)" number_literal >> (parenthesized_expression "((uint)puVar13 & 0x1f)" ( (binary_expression "(uint)puVar13 & 0x1f" (cast_expression "(uint)puVar13" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) ))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;))) })) (if_statement "if ((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2) break;" if (parenthesized_expression "((undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2)" ( (binary_expression "(undefined1 *)((int)&local_a4[-2].perms + 3U) < (undefined1 *)0x2" (cast_expression "(undefined1 *)((int)&local_a4[-2].perms + 3U)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_a4[-2].perms + 3U)" ( (binary_expression "(int)&local_a4[-2].perms + 3U" (cast_expression "(int)&local_a4[-2].perms" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_a4[-2].perms" & (field_expression "local_a4[-2].perms" (subscript_expression "local_a4[-2]" identifier [ number_literal ]) . field_identifier))) + number_literal) ))) < (cast_expression "(undefined1 *)0x2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) }))) (expression_statement "con->cmd = con->cmd & 0xfffffffc;" (assignment_expression "con->cmd = con->cmd & 0xfffffffc" (field_expression "con->cmd" identifier -> field_identifier) = (binary_expression "con->cmd & 0xfffffffc" (field_expression "con->cmd" identifier -> field_identifier) & number_literal)) ;) (expression_statement "ppfVar1 = &local_90->next;" (assignment_expression "ppfVar1 = &local_90->next" identifier = (pointer_expression "&local_90->next" & (field_expression "local_90->next" identifier -> field_identifier))) ;) (expression_statement "local_90 = *ppfVar1;" (assignment_expression "local_90 = *ppfVar1" identifier = (pointer_expression "*ppfVar1" * identifier)) ;) }) while (parenthesized_expression "(*ppfVar1 != (fileinfo *)0x0)" ( (binary_expression "*ppfVar1 != (fileinfo *)0x0" (pointer_expression "*ppfVar1" * identifier) != (cast_expression "(fileinfo *)0x0" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (expression_statement "local_90 = local_a4;" (assignment_expression "local_90 = local_a4" identifier = identifier) ;) (expression_statement "puVar13 = puVar23;" (assignment_expression "puVar13 = puVar23" identifier = identifier) ;) }))) (expression_statement "puVar4 = local_b4;" (assignment_expression "puVar4 = local_b4" identifier = identifier) ;) (expression_statement "pfVar12 = local_bc;" (assignment_expression "pfVar12 = local_bc" identifier = identifier) ;) (if_statement "if (local_94->recursive != false) {\n      iVar14 = local_94->reclevel;\n      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }\n    }" if (parenthesized_expression "(local_94->recursive != false)" ( (binary_expression "local_94->recursive != false" (field_expression "local_94->recursive" identifier -> field_identifier) != false) )) (compound_statement "{\n      iVar14 = local_94->reclevel;\n      if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }\n    }" { (expression_statement "iVar14 = local_94->reclevel;" (assignment_expression "iVar14 = local_94->reclevel" identifier = (field_expression "local_94->reclevel" identifier -> field_identifier)) ;) (if_statement "if ((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)) {\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }\n      else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }" if (parenthesized_expression "((iVar14 == -1) || (ftp_retrieve_list::depth < iVar14))" ( (binary_expression "(iVar14 == -1) || (ftp_retrieve_list::depth < iVar14)" (parenthesized_expression "(iVar14 == -1)" ( (binary_expression "iVar14 == -1" identifier == number_literal) )) || (parenthesized_expression "(ftp_retrieve_list::depth < iVar14)" ( (binary_expression "ftp_retrieve_list::depth < iVar14" identifier (ERROR "::depth" : : identifier) < identifier) ))) )) (compound_statement "{\n        *(ccon **)(puVar13 + -0x10) = con;\n        puVar6 = local_98;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22baf;\n        local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));\n      }" { (expression_statement "*(ccon **)(puVar13 + -0x10) = con;" (assignment_expression "*(ccon **)(puVar13 + -0x10) = con" (pointer_expression "*(ccon **)(puVar13 + -0x10)" * (cast_expression "(ccon **)(puVar13 + -0x10)" ( (type_descriptor "ccon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar6 = local_98;" (assignment_expression "puVar6 = local_98" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22baf;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22baf" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10));" (assignment_expression "local_90 = (fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10))" identifier = (cast_expression "(fileinfo *)ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10))" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "ftp_retrieve_dirs(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10))" identifier (argument_list "(puVar6,puVar4,pfVar12,*(ccon **)(puVar13 + -0x10))" ( identifier , identifier , identifier , (pointer_expression "*(ccon **)(puVar13 + -0x10)" * (cast_expression "(ccon **)(puVar13 + -0x10)" ( (type_descriptor "ccon **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) ))))) ;) }) (else_clause "else if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }" else (if_statement "if (local_94->debug != false) {\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }" if (parenthesized_expression "(local_94->debug != false)" ( (binary_expression "local_94->debug != false" (field_expression "local_94->debug" identifier -> field_identifier) != false) )) (compound_statement "{\n        local_94 = (options *)ftp_retrieve_list::depth;\n        *(undefined4 *)(puVar13 + -8) = 5;\n        *(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar13 + -0x10) = 0;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22ca4;\n        uVar15 = dcgettext();\n        poVar7 = local_94;\n        *(int *)(puVar13 + -8) = iVar14;\n        *(options **)(puVar13 + -0xc) = poVar7;\n        *(undefined4 *)(puVar13 + -0x10) = uVar15;\n        *(undefined4 *)(puVar13 + -0x14) = 0x22cb5;\n        debug_logprintf(*(char **)(puVar13 + -0x10));\n      }" { (expression_statement "local_94 = (options *)ftp_retrieve_list::depth;" (assignment_expression "local_94 = (options *)ftp_retrieve_list" identifier = (cast_expression "(options *)ftp_retrieve_list" ( (type_descriptor "options *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) (ERROR "::depth" : : identifier) ;) (expression_statement "*(undefined4 *)(puVar13 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar13 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar13 + -8)" * (cast_expression "(undefined4 *)(puVar13 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -8)" ( (binary_expression "puVar13 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";" (assignment_expression "*(char **)(puVar13 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n"" (pointer_expression "*(char **)(puVar13 + -0xc)" * (cast_expression "(char **)(puVar13 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) = (string_literal ""Will not retrieve dirs since depth is %d (max %d).\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar13 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar13 + -0x10)" * (cast_expression "(undefined4 *)(puVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22ca4;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22ca4" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar15 = dcgettext();" (assignment_expression "uVar15 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "poVar7 = local_94;" (assignment_expression "poVar7 = local_94" identifier = identifier) ;) (expression_statement "*(int *)(puVar13 + -8) = iVar14;" (assignment_expression "*(int *)(puVar13 + -8) = iVar14" (pointer_expression "*(int *)(puVar13 + -8)" * (cast_expression "(int *)(puVar13 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -8)" ( (binary_expression "puVar13 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(options **)(puVar13 + -0xc) = poVar7;" (assignment_expression "*(options **)(puVar13 + -0xc) = poVar7" (pointer_expression "*(options **)(puVar13 + -0xc)" * (cast_expression "(options **)(puVar13 + -0xc)" ( (type_descriptor "options **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0xc)" ( (binary_expression "puVar13 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x10) = uVar15;" (assignment_expression "*(undefined4 *)(puVar13 + -0x10) = uVar15" (pointer_expression "*(undefined4 *)(puVar13 + -0x10)" * (cast_expression "(undefined4 *)(puVar13 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar13 + -0x14) = 0x22cb5;" (assignment_expression "*(undefined4 *)(puVar13 + -0x14) = 0x22cb5" (pointer_expression "*(undefined4 *)(puVar13 + -0x14)" * (cast_expression "(undefined4 *)(puVar13 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 + -0x14)" ( (binary_expression "puVar13 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "debug_logprintf(*(char **)(puVar13 + -0x10));" (call_expression "debug_logprintf(*(char **)(puVar13 + -0x10))" identifier (argument_list "(*(char **)(puVar13 + -0x10))" ( (pointer_expression "*(char **)(puVar13 + -0x10)" * (cast_expression "(char **)(puVar13 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar13 + -0x10)" ( (binary_expression "puVar13 + -0x10" identifier + number_literal) )))) ))) ;) })))) })) (labeled_statement "ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;" statement_identifier (ERROR "::depth = ftp_retrieve_list:" : : (assignment_expression "depth = ftp_retrieve_list" identifier = identifier) :) : (expression_statement "depth + -1;" (binary_expression "depth + -1" identifier + number_literal) ;)) (expression_statement "puVar23 = puVar13;" (assignment_expression "puVar23 = puVar13" identifier = identifier) ;) }) (else_clause "else {\n    if (opt.debug) {\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }\n    puVar23 = auStack_cc;\n    local_90 = (fileinfo *)0x1a;\n  }" else (compound_statement "{\n    if (opt.debug) {\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }\n    puVar23 = auStack_cc;\n    local_90 = (fileinfo *)0x1a;\n  }" { (if_statement "if (opt.debug) {\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }" if (parenthesized_expression "(opt.debug)" ( (field_expression "opt.debug" identifier . field_identifier) )) (compound_statement "{\n      ftp_retrieve_list::depth = iVar14;\n      pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      debug_logprintf(pcVar11,iVar14,local_90);\n      ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;\n    }" { (labeled_statement "ftp_retrieve_list::depth = iVar14;" statement_identifier : (ERROR ":" :) (expression_statement "depth = iVar14;" (assignment_expression "depth = iVar14" identifier = identifier) ;)) (expression_statement "pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);" (assignment_expression "pcVar11 = (char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" identifier (argument_list "(0,"Recursion depth %d exceeded max. depth %d.\n",5)" ( number_literal , (string_literal ""Recursion depth %d exceeded max. depth %d.\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "debug_logprintf(pcVar11,iVar14,local_90);" (call_expression "debug_logprintf(pcVar11,iVar14,local_90)" identifier (argument_list "(pcVar11,iVar14,local_90)" ( identifier , identifier , identifier ))) ;) (labeled_statement "ftp_retrieve_list::depth = ftp_retrieve_list::depth + -1;" statement_identifier (ERROR "::depth = ftp_retrieve_list:" : : (assignment_expression "depth = ftp_retrieve_list" identifier = identifier) :) : (expression_statement "depth + -1;" (binary_expression "depth + -1" identifier + number_literal) ;)) })) (expression_statement "puVar23 = auStack_cc;" (assignment_expression "puVar23 = auStack_cc" identifier = identifier) ;) (expression_statement "local_90 = (fileinfo *)0x1a;" (assignment_expression "local_90 = (fileinfo *)0x1a" identifier = (cast_expression "(fileinfo *)0x1a" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00022667:\n  if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return (uerr_t)local_90;\n  }" statement_identifier : (if_statement "if (iVar2 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return (uerr_t)local_90;\n  }" if (parenthesized_expression "(iVar2 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar2 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return (uerr_t)local_90;\n  }" { (return_statement "return (uerr_t)local_90;" return (cast_expression "(uerr_t)local_90" ( (type_descriptor "uerr_t" type_identifier) ) identifier) ;) }))) comment (expression_statement "*(undefined **)(puVar23 + -4) = &UNK_00022f5b;" (assignment_expression "*(undefined **)(puVar23 + -4) = &UNK_00022f5b" (pointer_expression "*(undefined **)(puVar23 + -4)" * (cast_expression "(undefined **)(puVar23 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar23 + -4)" ( (binary_expression "puVar23 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00022f5b" & identifier)) ;) (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "int * __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    \n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}\n\n" (function_definition "int * __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    \n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}" primitive_type (pointer_declarator "* __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)" * (ERROR "__regparm3" identifier) (function_declarator "FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)" identifier (parameter_list "(int param_1,undefined4 param_2,int *param_3,uint *param_4)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) , (parameter_declaration "uint *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) )))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    \n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}" { (declaration "undefined4 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int *piVar3;" primitive_type (pointer_declarator "*piVar3" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "size_t sVar12;" primitive_type identifier ;) (declaration "size_t sVar13;" primitive_type identifier ;) (declaration "byte bVar14;" type_identifier identifier ;) (declaration "undefined1 uVar15;" type_identifier identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "undefined1 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "undefined1 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "undefined1 *puVar19;" type_identifier (pointer_declarator "*puVar19" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined1 auStack_cc [12];" type_identifier (array_declarator "auStack_cc [12]" identifier [ number_literal ]) ;) (declaration "uint local_c0;" type_identifier identifier ;) (declaration "int *local_bc;" primitive_type (pointer_declarator "*local_bc" * identifier) ;) (declaration "byte local_b5;" type_identifier identifier ;) (declaration "undefined4 local_b4;" type_identifier identifier ;) (declaration "uint *local_b0;" type_identifier (pointer_declarator "*local_b0" * identifier) ;) (declaration "int *local_ac;" primitive_type (pointer_declarator "*local_ac" * identifier) ;) (declaration "int local_a8;" primitive_type identifier ;) (declaration "int *local_a4;" primitive_type (pointer_declarator "*local_a4" * identifier) ;) (declaration "undefined4 local_a0;" type_identifier identifier ;) (declaration "uint local_9c;" type_identifier identifier ;) (declaration "int local_98;" primitive_type identifier ;) (declaration "undefined4 *local_94;" type_identifier (pointer_declarator "*local_94" * identifier) ;) (declaration "int *local_90;" primitive_type (pointer_declarator "*local_90" * identifier) ;) (declaration "int local_84;" primitive_type identifier ;) (declaration "undefined1 local_80 [16];" type_identifier (array_declarator "local_80 [16]" identifier [ number_literal ]) ;) (declaration "uint local_70;" type_identifier identifier ;) (declaration "int *local_54;" primitive_type (pointer_declarator "*local_54" * identifier) ;) (declaration "int local_50;" primitive_type identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2236b;" (assignment_expression "uStack_14 = 0x2236b" identifier = number_literal) ;) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" identifier = identifier) ;) (expression_statement "local_94 = &DAT_000a8a40;" (assignment_expression "local_94 = &DAT_000a8a40" identifier = (pointer_expression "&DAT_000a8a40" & identifier)) ;) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "local_90 = (int *)DAT_000a8a60;" (assignment_expression "local_90 = (int *)DAT_000a8a60" identifier = (cast_expression "(int *)DAT_000a8a60" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);" (assignment_expression "puVar1 = (undefined4 *)((int)DAT_000a3460 + 1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + 1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + 1)" ( (binary_expression "(int)DAT_000a3460 + 1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_bc = param_3;" (assignment_expression "local_bc = param_3" identifier = identifier) ;) (expression_statement "local_b4 = param_2;" (assignment_expression "local_b4 = param_2" identifier = identifier) ;) (expression_statement "local_98 = param_1;" (assignment_expression "local_98 = param_1" identifier = identifier) ;) (if_statement "if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" if (parenthesized_expression "(DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60)" ( (binary_expression "DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60" (binary_expression "DAT_000a8a60 == -1" identifier == number_literal) || (binary_expression "(int)puVar1 <= DAT_000a8a60" (cast_expression "(int)puVar1" ( (type_descriptor "int" primitive_type) ) identifier) <= identifier)) )) (compound_statement "{\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }" { (expression_statement "uVar16 = *param_4;" (assignment_expression "uVar16 = *param_4" identifier = (pointer_expression "*param_4" * identifier)) ;) (expression_statement "DAT_000a3460 = puVar1;" (assignment_expression "DAT_000a3460 = puVar1" identifier = identifier) ;) (expression_statement "*param_4 = uVar16 & 0xfffffffe;" (assignment_expression "*param_4 = uVar16 & 0xfffffffe" (pointer_expression "*param_4" * identifier) = (binary_expression "uVar16 & 0xfffffffe" identifier & number_literal)) ;) (expression_statement "uVar5 = param_4[1] & 0xfffffffd;" (assignment_expression "uVar5 = param_4[1] & 0xfffffffd" identifier = (binary_expression "param_4[1] & 0xfffffffd" (subscript_expression "param_4[1]" identifier [ number_literal ]) & number_literal)) ;) (if_statement "if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }" if (parenthesized_expression "((uVar16 & 2) == 0)" ( (binary_expression "(uVar16 & 2) == 0" (parenthesized_expression "(uVar16 & 2)" ( (binary_expression "uVar16 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      uVar5 = param_4[1] | 2;\n    }" { (expression_statement "uVar5 = param_4[1] | 2;" (assignment_expression "uVar5 = param_4[1] | 2" identifier = (binary_expression "param_4[1] | 2" (subscript_expression "param_4[1]" identifier [ number_literal ]) | number_literal)) ;) })) (expression_statement "uVar16 = uVar5 & 0xfffffffe | 0x14;" (assignment_expression "uVar16 = uVar5 & 0xfffffffe | 0x14" identifier = (binary_expression "uVar5 & 0xfffffffe | 0x14" (binary_expression "uVar5 & 0xfffffffe" identifier & number_literal) | number_literal)) ;) (if_statement "if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }" if (parenthesized_expression "((int)param_4[2] < 0)" ( (binary_expression "(int)param_4[2] < 0" (cast_expression "(int)param_4[2]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "param_4[2]" identifier [ number_literal ])) < number_literal) )) (compound_statement "{\n      uVar16 = uVar5 | 0x15;\n    }" { (expression_statement "uVar16 = uVar5 | 0x15;" (assignment_expression "uVar16 = uVar5 | 0x15" identifier = (binary_expression "uVar5 | 0x15" identifier | number_literal)) ;) })) (expression_statement "param_4[1] = uVar16;" (assignment_expression "param_4[1] = uVar16" (subscript_expression "param_4[1]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" if (parenthesized_expression "(param_3 == (int *)0x0)" ( (binary_expression "param_3 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }" { (expression_statement "local_90 = (int *)0x19;" (assignment_expression "local_90 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" identifier = identifier) ;) (expression_statement "piVar6 = local_90;" (assignment_expression "piVar6 = local_90" identifier = identifier) ;) }) (else_clause "else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" else (compound_statement "{\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" { (expression_statement "local_b0 = &DAT_000a8c80;" (assignment_expression "local_b0 = &DAT_000a8c80" identifier = (pointer_expression "&DAT_000a8c80" & identifier)) ;) (expression_statement "local_b5 = 0;" (assignment_expression "local_b5 = 0" identifier = number_literal) ;) (expression_statement "local_90 = param_3;" (assignment_expression "local_90 = param_3" identifier = identifier) ;) (do_statement "do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);" do (compound_statement "{\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      }" { (expression_statement "iVar10 = local_98;" (assignment_expression "iVar10 = local_98" identifier = identifier) ;) (expression_statement "iVar8 = local_94[0x55];" (assignment_expression "iVar8 = local_94[0x55]" identifier = (subscript_expression "local_94[0x55]" identifier [ number_literal ])) ;) (if_statement "if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }" if (parenthesized_expression "((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0))" ( (binary_expression "(iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)" (parenthesized_expression "(iVar8 != 0 || local_94[0x54] != 0)" ( (binary_expression "iVar8 != 0 || local_94[0x54] != 0" (binary_expression "iVar8 != 0" identifier != number_literal) || (binary_expression "local_94[0x54] != 0" (subscript_expression "local_94[0x54]" identifier [ number_literal ]) != number_literal)) )) && (parenthesized_expression "(uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)" ( (comma_expression "uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (assignment_expression "uVar16 = (uint)((uint)local_94[0x54] < *local_b0)" identifier = (call_expression "(uint)((uint)local_94[0x54] < *local_b0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((uint)local_94[0x54] < *local_b0)" ( (binary_expression "(uint)local_94[0x54] < *local_b0" (cast_expression "(uint)local_94[0x54]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "local_94[0x54]" identifier [ number_literal ])) < (pointer_expression "*local_b0" * identifier)) )))) , (comma_expression "iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (assignment_expression "iVar2 = iVar8 - local_b0[1]" identifier = (binary_expression "iVar8 - local_b0[1]" identifier - (subscript_expression "local_b0[1]" identifier [ number_literal ]))) , (binary_expression "(SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (parenthesized_expression "(SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16))" ( (binary_expression "SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)" (call_expression "SBORROW4(iVar8,local_b0[1])" identifier (argument_list "(iVar8,local_b0[1])" ( identifier , (subscript_expression "local_b0[1]" identifier [ number_literal ]) ))) != (call_expression "SBORROW4(iVar2,uVar16)" identifier (argument_list "(iVar2,uVar16)" ( identifier , identifier )))) )) != (binary_expression "(int)(iVar2 - uVar16) < 0" (cast_expression "(int)(iVar2 - uVar16)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(iVar2 - uVar16)" ( (binary_expression "iVar2 - uVar16" identifier - identifier) ))) < number_literal)))) ))) )) (compound_statement "{\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }" { (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + -1)" ( (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "local_90 = (int *)0x2b;" (assignment_expression "local_90 = (int *)0x2b" identifier = (cast_expression "(int *)0x2b" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (goto_statement "goto LAB_00022667;" goto statement_identifier ;) })) (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24)" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(local_98 + 0x24)" * (cast_expression "(undefined4 *)(local_98 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_98 + 0x24)" ( (binary_expression "local_98 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "local_9c = uVar16;" (assignment_expression "local_9c = uVar16" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2247b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2247b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a0 = FUN_0005af70();" (assignment_expression "local_a0 = FUN_0005af70()" identifier = (call_expression "FUN_0005af70()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_90[1]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar10;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar10" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22492;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22492" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar10;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar10" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2249c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2249c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar16 = FUN_00045130();" (assignment_expression "uVar16 = FUN_00045130()" identifier = (call_expression "FUN_00045130()" identifier (argument_list "()" ( )))) ;) (expression_statement "param_4[8] = uVar16;" (assignment_expression "param_4[8] = uVar16" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" if (parenthesized_expression "(*(char *)(local_94 + 0x57) == '\0')" ( (binary_expression "*(char *)(local_94 + 0x57) == '\0'" (pointer_expression "*(char *)(local_94 + 0x57)" * (cast_expression "(char *)(local_94 + 0x57)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x57)" ( (binary_expression "local_94 + 0x57" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }" { (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (if_statement "if (iVar8 != 1) goto LAB_000224d0;" if (parenthesized_expression "(iVar8 != 1)" ( (binary_expression "iVar8 != 1" identifier != number_literal) )) (goto_statement "goto LAB_000224d0;" goto statement_identifier ;)) (labeled_statement "LAB_00022699:\n          bVar14 = 1;" statement_identifier : (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" identifier = number_literal) ;)) (labeled_statement "LAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" statement_identifier : (if_statement "if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x16) == '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x16) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x16)" * (cast_expression "(char *)((int)local_94 + 0x16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x16)" ( (binary_expression "(int)local_94 + 0x16" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" { (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,bVar14)" identifier (argument_list "(local_ac._1_3_,bVar14)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0x10) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_90[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x226c1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x226c1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "pcVar7 = "Skipping directory %s.\n";" (assignment_expression "pcVar7 = "Skipping directory %s.\n"" identifier = (string_literal ""Skipping directory %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (labeled_statement "LAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;" statement_identifier : (expression_statement "*(char **)(puVar17 + -0xc) = pcVar7;" (assignment_expression "*(char **)(puVar17 + -0xc) = pcVar7" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2270d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2270d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2271f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2271f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar14 = (byte)local_ac;" (assignment_expression "bVar14 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) (labeled_statement "LAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];" statement_identifier : (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;)) (expression_statement "*(int **)(puVar17 + -0x10) = &local_84;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_84" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2273e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2273e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }" if (parenthesized_expression "((byte)local_a4 != '\0')" ( (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }" { (expression_statement "piVar6 = (int *)0x19;" (assignment_expression "piVar6 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_84 != 0) goto LAB_00022542;" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00022542;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = (int *)0x19;" (assignment_expression "local_a4 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22771;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22771" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" identifier = identifier) ;) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2278e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2278e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22796;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22796" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" identifier = number_literal) ;) (goto_statement "goto LAB_000227a4;" goto statement_identifier ;) })) (labeled_statement "LAB_00022822:\n          local_a4._0_1_ = '\0';" statement_identifier : (expression_statement "local_a4._0_1_ = '\0';" (assignment_expression "local_a4._0_1_ = '\0'" (field_expression "local_a4._0_1_" identifier . field_identifier) = (char_literal "'\0'" ' escape_sequence ')) ;)) (expression_statement "piVar6 = (int *)0x19;" (assignment_expression "piVar6 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (local_84 != 0) goto LAB_00022839;" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00022839;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = (int *)0x19;" (assignment_expression "local_a4 = (int *)0x19" identifier = (cast_expression "(int *)0x19" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22af1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22af1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" identifier = identifier) ;) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b0e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b0e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b16;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b16" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" else (compound_statement "{\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" { (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (if_statement "if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }" { (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" identifier (argument_list "(local_a4._1_3_,*(char *)(local_94 + 0x57))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(char *)(local_94 + 0x57)" * (cast_expression "(char *)(local_94 + 0x57)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_94 + 0x57)" ( (binary_expression "local_94 + 0x57" identifier + number_literal) )))) ))))) ;) (expression_statement "*(undefined1 **)(puVar17 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar17 + -8)" * (cast_expression "(undefined1 **)(puVar17 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0xc) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x228e5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x228e5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));" (assignment_expression "iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" identifier = (call_expression "__xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" identifier (argument_list "(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" ( (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(stat64 **)(puVar17 + -8)" * (cast_expression "(stat64 **)(puVar17 + -8)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }" { (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = (int *)iVar8;" (assignment_expression "local_a4 = (int *)iVar8" identifier = (cast_expression "(int *)iVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" if (parenthesized_expression "((param_4[5] & 0xfffffffd) == 0)" ( (binary_expression "(param_4[5] & 0xfffffffd) == 0" (parenthesized_expression "(param_4[5] & 0xfffffffd)" ( (binary_expression "param_4[5] & 0xfffffffd" (subscript_expression "param_4[5]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) (compound_statement "{\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" { (expression_statement "local_ac = local_54;" (assignment_expression "local_ac = local_54" identifier = identifier) ;) (expression_statement "local_a8 = local_50;" (assignment_expression "local_a8 = local_50" identifier = identifier) ;) (expression_statement "local_c0 = (uint)local_54 ^ local_90[2];" (assignment_expression "local_c0 = (uint)local_54 ^ local_90[2]" identifier = (binary_expression "(uint)local_54 ^ local_90[2]" (cast_expression "(uint)local_54" ( (type_descriptor "uint" type_identifier) ) identifier) ^ (subscript_expression "local_90[2]" identifier [ number_literal ]))) ;) (if_statement "if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;" if (parenthesized_expression "(local_50 == local_90[3] && local_c0 == 0)" ( (binary_expression "local_50 == local_90[3] && local_c0 == 0" (binary_expression "local_50 == local_90[3]" identifier == (subscript_expression "local_90[3]" identifier [ number_literal ])) && (binary_expression "local_c0 == 0" identifier == number_literal)) )) (goto_statement "goto LAB_00022bc8;" goto statement_identifier ;)) (if_statement "if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }" if (parenthesized_expression "(iVar8 <= local_38)" ( (binary_expression "iVar8 <= local_38" identifier <= identifier) )) (compound_statement "{\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }" { (expression_statement "*(int *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_50" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = local_ac;" (assignment_expression "*(int **)(puVar17 + -0x10) = local_ac" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,bVar14);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,bVar14)" identifier = (call_expression "CONCAT31(local_c0._1_3_,bVar14)" identifier (argument_list "(local_c0._1_3_,bVar14)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , identifier )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2297e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2297e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0004d760();" (assignment_expression "local_a4 = (int *)FUN_0004d760()" identifier = (cast_expression "(int *)FUN_0004d760()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0004d760()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""The sizes do not match (local %s) -- retrieving.\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22997;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22997" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x229a9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x229a9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar14 = (byte)local_c0;" (assignment_expression "bVar14 = (byte)local_c0" identifier = (cast_expression "(byte)local_c0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto LAB_000229b3;" goto statement_identifier ;) })) (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (labeled_statement "LAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);" statement_identifier : (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,(byte)local_a4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,(byte)local_a4)" identifier (argument_list "(local_ac._1_3_,(byte)local_a4)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22bea;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22bea" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Remote file is newer than local file %s -- retrieving.\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c03;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c03" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c15;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c15" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (expression_statement "local_b5 = (byte)local_ac;" (assignment_expression "local_b5 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "bVar14 = (byte)local_ac;" (assignment_expression "bVar14 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (goto_statement "goto joined_r0x00022c30;" goto statement_identifier ;) })) (labeled_statement "LAB_00022bc8:\n              uVar16 = param_4[8];" statement_identifier : (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" identifier = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;)) (if_statement "if (local_38 < iVar8) goto LAB_00022bdb;" if (parenthesized_expression "(local_38 < iVar8)" ( (binary_expression "local_38 < iVar8" identifier < identifier) )) (goto_statement "goto LAB_00022bdb;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227c9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227c9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Remote file no newer than local file %s -- not retrieving.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227e2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227e2" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227f4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227f4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;) (if_statement "if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (compound_statement "{\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }" { (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0002269e;" goto statement_identifier ;) })) (if_statement "if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }" { (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" identifier = number_literal) ;) (goto_statement "goto joined_r0x00022e2b;" goto statement_identifier ;) })) (labeled_statement "LAB_00022810:\n              puVar19 = puVar17 + -8;" statement_identifier : (expression_statement "puVar19 = puVar17 + -8;" (assignment_expression "puVar19 = puVar17 + -8" identifier = (binary_expression "puVar17 + -8" identifier + number_literal)) ;)) (labeled_statement "LAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];" statement_identifier : (expression_statement "*(uint *)(puVar19 + -4) = param_4[8];" (assignment_expression "*(uint *)(puVar19 + -4) = param_4[8]" (pointer_expression "*(uint *)(puVar19 + -4)" * (cast_expression "(uint *)(puVar19 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -4)" ( (binary_expression "puVar19 + -4" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;)) (expression_statement "*(int **)(puVar19 + -8) = &local_84;" (assignment_expression "*(int **)(puVar19 + -8) = &local_84" (pointer_expression "*(int **)(puVar19 + -8)" * (cast_expression "(int **)(puVar19 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar19 + -8)" ( (binary_expression "puVar19 + -8" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x2281f;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x2281f" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" * (cast_expression "(undefined4 *)(puVar19 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar19 + -0xc)" ( (binary_expression "puVar19 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = puVar19 + 8;" (assignment_expression "puVar17 = puVar19 + 8" identifier = (binary_expression "puVar19 + 8" identifier + number_literal)) ;) (goto_statement "goto LAB_00022822;" goto statement_identifier ;) })) (labeled_statement "LAB_000229b3:\n            iVar8 = *local_90;" statement_identifier : (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" identifier = (pointer_expression "*local_90" * identifier)) ;)) (labeled_statement "joined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;" statement_identifier : (if_statement "if (iVar8 == 1) goto LAB_0002269e;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002269e;" goto statement_identifier ;))) (if_statement "if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }" { (labeled_statement "joined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;" statement_identifier : (if_statement "if (iVar8 != 2) goto LAB_000226dd;" if (parenthesized_expression "(iVar8 != 2)" ( (binary_expression "iVar8 != 2" identifier != number_literal) )) (goto_statement "goto LAB_000226dd;" goto statement_identifier ;))) (if_statement "if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;" if (parenthesized_expression "(*(char *)((int)local_94 + 0x91) == '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x91) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x91)" * (cast_expression "(char *)((int)local_94 + 0x91)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x91)" ( (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000229f0;" goto statement_identifier ;)) (if_statement "if (bVar14 == 0) goto LAB_00022810;" if (parenthesized_expression "(bVar14 == 0)" ( (binary_expression "bVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00022810;" goto statement_identifier ;)) })) }) (else_clause "else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" else (compound_statement "{\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" { (if_statement "if (iVar8 == 1) goto LAB_00022699;" if (parenthesized_expression "(iVar8 == 1)" ( (binary_expression "iVar8 == 1" identifier == number_literal) )) (goto_statement "goto LAB_00022699;" goto statement_identifier ;)) (labeled_statement "LAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" statement_identifier : (if_statement "if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" if (parenthesized_expression "(iVar8 != 0)" ( (binary_expression "iVar8 != 0" identifier != number_literal) )) (compound_statement "{\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" { (if_statement "if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }" if (parenthesized_expression "(iVar8 != 2)" ( (binary_expression "iVar8 != 2" identifier != number_literal) )) (compound_statement "{\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }" { (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" identifier = number_literal) ;) (labeled_statement "LAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" statement_identifier : (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,bVar14)" identifier (argument_list "(local_ac._1_3_,bVar14)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;)) (expression_statement "*(int *)(puVar17 + -0x10) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0x10) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "local_90[1]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x226f4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x226f4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = (int *)FUN_0005aa80();" (assignment_expression "piVar6 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pcVar7 = "%s: unknown/unsupported file type.\n";" (assignment_expression "pcVar7 = "%s: unknown/unsupported file type.\n"" identifier = (string_literal ""%s: unknown/unsupported file type.\n"" " string_content escape_sequence ")) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (goto_statement "goto LAB_00022705;" goto statement_identifier ;) })) (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" identifier = number_literal) ;) (if_statement "if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;" if (parenthesized_expression "(*(char *)((int)local_94 + 0x91) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x91) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x91)" * (cast_expression "(char *)((int)local_94 + 0x91)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x91)" ( (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000224f5;" goto statement_identifier ;)) (labeled_statement "LAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" statement_identifier : (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,bVar14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,bVar14)" identifier (argument_list "(local_a4._1_3_,bVar14)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;)) (if_statement "if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" if (parenthesized_expression "(local_90[7] == 0)" ( (binary_expression "local_90[7] == 0" (subscript_expression "local_90[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Invalid name of the symlink, skipping.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22cdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22cdb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ce5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ce5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003ace0();" (call_expression "FUN_0003ace0()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }) (else_clause "else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" else (compound_statement "{\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" { (expression_statement "*(undefined1 **)(puVar17 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar17 + -8)" * (cast_expression "(undefined1 **)(puVar17 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22a18;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22a18" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));" (assignment_expression "iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" identifier = (call_expression "__lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" identifier (argument_list "(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" ( (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(stat64 **)(puVar17 + -8)" * (cast_expression "(stat64 **)(puVar17 + -8)" ( (type_descriptor "stat64 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) )))) ;) (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" identifier = (cast_expression "(int *)local_90[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" identifier = identifier) ;) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }" if (parenthesized_expression "((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000))" ( (binary_expression "(iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)" (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) && (parenthesized_expression "((local_70 & 0xf000) == 0xa000)" ( (binary_expression "(local_70 & 0xf000) == 0xa000" (parenthesized_expression "(local_70 & 0xf000)" ( (binary_expression "local_70 & 0xf000" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }" { (expression_statement "*(int **)(puVar17 + -0x10) = piVar6;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar6" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d29;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d29" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "sVar12 = strlen(*(char **)(puVar17 + -0x10));" (assignment_expression "sVar12 = strlen(*(char **)(puVar17 + -0x10))" identifier = (call_expression "strlen(*(char **)(puVar17 + -0x10))" identifier (argument_list "(*(char **)(puVar17 + -0x10))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) )))) ;) (expression_statement "iVar8 = -(sVar12 + 0x1c & 0xfffffff0);" (assignment_expression "iVar8 = -(sVar12 + 0x1c & 0xfffffff0)" identifier = (unary_expression "-(sVar12 + 0x1c & 0xfffffff0)" - (parenthesized_expression "(sVar12 + 0x1c & 0xfffffff0)" ( (binary_expression "sVar12 + 0x1c & 0xfffffff0" (binary_expression "sVar12 + 0x1c" identifier + number_literal) & number_literal) )))) ;) (expression_statement "puVar18 = puVar17 + iVar8;" (assignment_expression "puVar18 = puVar17 + iVar8" identifier = (binary_expression "puVar17 + iVar8" identifier + identifier)) ;) (expression_statement "*(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;" (assignment_expression "*(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1" (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (binary_expression "sVar12 + 1" identifier + number_literal)) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);" (assignment_expression "*(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (pointer_expression "*(int **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(int **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (cast_expression "(int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (binary_expression "(uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0" (call_expression "(uint)(puVar17 + iVar8 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + iVar8 + 0xf)" ( (binary_expression "puVar17 + iVar8 + 0xf" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) ))) & number_literal) )))) ;) (expression_statement "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + iVar8 + -0x10)" * (cast_expression "(uint *)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);" (assignment_expression "local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" identifier = (cast_expression "(int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" ( (binary_expression "(uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0" (call_expression "(uint)(puVar17 + iVar8 + 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar17 + iVar8 + 0xf)" ( (binary_expression "puVar17 + iVar8 + 0xf" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) ))) & number_literal) )))) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));" (assignment_expression "sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier = (call_expression "readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier (argument_list "(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" ( (pointer_expression "*(char **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(char **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(char **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(char **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) )))) ;) (if_statement "if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" if (parenthesized_expression "(sVar12 == sVar13)" ( (binary_expression "sVar12 == sVar13" identifier == identifier) )) (compound_statement "{\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }" { (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4)" identifier = (call_expression "CONCAT31(local_c0._1_3_,(byte)local_a4)" identifier (argument_list "(local_c0._1_3_,(byte)local_a4)" ( (field_expression "local_c0._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) )))) ;) (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" identifier = (cast_expression "(int *)local_90[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[7]" identifier [ number_literal ]))) ;) (expression_statement "*(size_t *)(puVar17 + iVar8 + -8) = sVar12;" (assignment_expression "*(size_t *)(puVar17 + iVar8 + -8) = sVar12" (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0xc) = piVar6;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0xc) = piVar6" (pointer_expression "*(int **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(int **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0x10) = local_ac;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x10) = local_ac" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));" (assignment_expression "iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier = (call_expression "memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" identifier (argument_list "(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" ( (pointer_expression "*(void **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(void **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(void **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(void **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) , (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" * (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) )))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "uVar15 = (byte)local_c0;" (assignment_expression "uVar15 = (byte)local_c0" identifier = (cast_expression "(byte)local_c0" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (compound_statement "{\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }" { (expression_statement "*(int **)(puVar17 + iVar8 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x10)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = (int *)FUN_0005aa80();" (assignment_expression "piVar6 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + iVar8 + -0x10)" * (cast_expression "(uint *)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -8)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -8)" ( (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";" (assignment_expression "*(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n"" (pointer_expression "*(char **)(puVar17 + iVar8 + -0xc)" * (cast_expression "(char **)(puVar17 + iVar8 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0xc)" ( (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = (string_literal ""Already have correct symlink %s -> %s\n\n"" " string_content escape_sequence escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x10)" ( (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0x14) = local_ac;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x14) = local_ac" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x14)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x14)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x14)" ( (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar17 + iVar8 + -0x18) = piVar6;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x18) = piVar6" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x18)" * (cast_expression "(int **)(puVar17 + iVar8 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + iVar8 + -0x18)" ( (binary_expression "puVar17 + iVar8 + -0x18" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x1c)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x1c)" ( (binary_expression "puVar17 + iVar8 + -0x1c" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x20)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x20)" ( (binary_expression "puVar17 + iVar8 + -0x20" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x24)" * (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + iVar8 + -0x24)" ( (binary_expression "puVar17 + iVar8 + -0x24" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar19 = puVar17 + iVar8 + -8;" (assignment_expression "puVar19 = puVar17 + iVar8 + -8" identifier = (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" identifier + identifier) + number_literal)) ;) (goto_statement "goto LAB_00022813;" goto statement_identifier ;) })) }) (else_clause "else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" else (compound_statement "{\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" { (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" identifier = (cast_expression "(int *)local_90[7]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[7]" identifier [ number_literal ]))) ;) (expression_statement "puVar18 = puVar17 + iVar8;" (assignment_expression "puVar18 = puVar17 + iVar8" identifier = (binary_expression "puVar17 + iVar8" identifier + identifier)) ;) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) })) (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15)" identifier = (cast_expression "(int *)CONCAT31(local_ac._1_3_,uVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_ac._1_3_,uVar15)" identifier (argument_list "(local_ac._1_3_,uVar15)" ( (field_expression "local_ac._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(int **)(puVar18 + -0x10) = piVar6;" (assignment_expression "*(int **)(puVar18 + -0x10) = piVar6" (pointer_expression "*(int **)(puVar18 + -0x10)" * (cast_expression "(int **)(puVar18 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a51;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a51" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = FUN_0005aa80();" (assignment_expression "uVar11 = FUN_0005aa80()" identifier = (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(uint *)(puVar18 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0x10)" * (cast_expression "(uint *)(puVar18 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a5c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a5c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" identifier = (cast_expression "(int *)FUN_0005aa80()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0005aa80()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""Creating symlink %s -> %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a75;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a75" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int **)(puVar18 + -0x18) = piVar6;" (assignment_expression "*(int **)(puVar18 + -0x18) = piVar6" (pointer_expression "*(int **)(puVar18 + -0x18)" * (cast_expression "(int **)(puVar18 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x18)" ( (binary_expression "puVar18 + -0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x1c) = uVar9;" (assignment_expression "*(undefined4 *)(puVar18 + -0x1c) = uVar9" (pointer_expression "*(undefined4 *)(puVar18 + -0x1c)" * (cast_expression "(undefined4 *)(puVar18 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x1c)" ( (binary_expression "puVar18 + -0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" * (cast_expression "(undefined4 *)(puVar18 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x20)" ( (binary_expression "puVar18 + -0x20" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x24) = 0x22a85;" (assignment_expression "*(undefined4 *)(puVar18 + -0x24) = 0x22a85" (pointer_expression "*(undefined4 *)(puVar18 + -0x24)" * (cast_expression "(undefined4 *)(puVar18 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x24)" ( (binary_expression "puVar18 + -0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(uint *)(puVar18 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0x10)" * (cast_expression "(uint *)(puVar18 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a90;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a90" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "unlink(*(char **)(puVar18 + -0x10));" (call_expression "unlink(*(char **)(puVar18 + -0x10))" identifier (argument_list "(*(char **)(puVar18 + -0x10))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar6 = local_90;" (assignment_expression "piVar6 = local_90" identifier = identifier) ;) (expression_statement "*(uint *)(puVar18 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0xc)" * (cast_expression "(uint *)(puVar18 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar18 + -0x10) = piVar6[7];" (assignment_expression "*(int *)(puVar18 + -0x10) = piVar6[7]" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (subscript_expression "piVar6[7]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22aa3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22aa3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier = (call_expression "symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" identifier (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" ( (pointer_expression "*(char **)(puVar18 + -0x10)" * (cast_expression "(char **)(puVar18 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "uVar15 = (byte)local_ac;" (assignment_expression "uVar15 = (byte)local_ac" identifier = (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (if_statement "if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }" if (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) (compound_statement "{\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }" { (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,(byte)local_ac)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,(byte)local_ac)" identifier (argument_list "(local_a4._1_3_,(byte)local_ac)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (cast_expression "(byte)local_ac" ( (type_descriptor "byte" type_identifier) ) identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar18 + -4) = 0x22db3;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = 0x22db3" (pointer_expression "*(undefined4 *)(puVar18 + -4)" * (cast_expression "(undefined4 *)(puVar18 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -4)" ( (binary_expression "puVar18 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" identifier = (call_expression "__errno_location()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar18 + -0x10) = *piVar6;" (assignment_expression "*(int *)(puVar18 + -0x10) = *piVar6" (pointer_expression "*(int *)(puVar18 + -0x10)" * (cast_expression "(int *)(puVar18 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = (pointer_expression "*piVar6" * identifier)) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22dbd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22dbd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = FUN_0006d0d0();" (assignment_expression "uVar11 = FUN_0006d0d0()" identifier = (call_expression "FUN_0006d0d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(puVar18 + -8) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -8)" * (cast_expression "(undefined4 *)(puVar18 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -8)" ( (binary_expression "puVar18 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "symlink: %s\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "symlink: %s\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""symlink: %s\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22dcf;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22dcf" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) })) (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15)" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,uVar15)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,uVar15)" identifier (argument_list "(local_a4._1_3_,uVar15)" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , identifier ))))) ;) (expression_statement "*(char **)(puVar18 + -0xc) = "\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" * (cast_expression "(char **)(puVar18 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar18 + -0xc)" ( (binary_expression "puVar18 + -0xc" identifier + number_literal) )))) = (string_literal ""\n"" " escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" * (cast_expression "(undefined4 *)(puVar18 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x10)" ( (binary_expression "puVar18 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22acd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22acd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" * (cast_expression "(undefined4 *)(puVar18 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar18 + -0x14)" ( (binary_expression "puVar18 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003ace0();" (call_expression "FUN_0003ace0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" identifier = identifier) ;) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) }))) (goto_statement "goto LAB_00022729;" goto statement_identifier ;) }))) }))) (labeled_statement "LAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;" statement_identifier : (expression_statement "*(uint *)(puVar17 + -8) = (uint)local_b5;" (assignment_expression "*(uint *)(puVar17 + -8) = (uint)local_b5" (pointer_expression "*(uint *)(puVar17 + -8)" * (cast_expression "(uint *)(puVar17 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = (cast_expression "(uint)local_b5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;)) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint **)(puVar17 + -0x10) = param_4;" (assignment_expression "*(uint **)(puVar17 + -0x10) = param_4" (pointer_expression "*(uint **)(puVar17 + -0x10)" * (cast_expression "(uint **)(puVar17 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2251a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2251a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar6 = (int *)FUN_00020e70();" (assignment_expression "piVar6 = (int *)FUN_00020e70()" identifier = (cast_expression "(int *)FUN_00020e70()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00020e70()" identifier (argument_list "()" ( ))))) ;) (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" * (cast_expression "(uint *)(puVar17 + -0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(int **)(puVar17 + -0x10) = &local_84;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_84" (pointer_expression "*(int **)(puVar17 + -0x10)" * (cast_expression "(int **)(puVar17 + -0x10)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (pointer_expression "&local_84" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2252e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2252e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (if_statement "if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }" if (parenthesized_expression "(local_84 != 0)" ( (binary_expression "local_84 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }" { (labeled_statement "LAB_00022542:\n            iVar8 = local_84;" statement_identifier : (expression_statement "iVar8 = local_84;" (assignment_expression "iVar8 = local_84" identifier = identifier) ;)) (expression_statement "local_ac = local_90;" (assignment_expression "local_ac = local_90" identifier = identifier) ;) (if_statement "if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" if (parenthesized_expression "(*local_90 == 0)" ( (binary_expression "*local_90 == 0" (pointer_expression "*local_90" * identifier) == number_literal) )) (compound_statement "{\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }" { (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" identifier = (cast_expression "(int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" identifier (argument_list "(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" ( (field_expression "local_a4._1_3_" identifier . field_identifier) , (pointer_expression "*(char *)((int)local_94 + 0x1f9)" * (cast_expression "(char *)((int)local_94 + 0x1f9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x1f9)" ( (binary_expression "(int)local_94 + 0x1f9" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ))))) ;) (if_statement "if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x1f9) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x1f9) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x1f9)" * (cast_expression "(char *)((int)local_94 + 0x1f9)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x1f9)" ( (binary_expression "(int)local_94 + 0x1f9" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" { (if_statement "if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" if (parenthesized_expression "(local_90[6] == 0)" ( (binary_expression "local_90[6] == 0" (subscript_expression "local_90[6]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }" { (if_statement "if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;" if (parenthesized_expression "(*(char *)((int)local_94 + 0x15b) == '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x15b) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x15b)" * (cast_expression "(char *)((int)local_94 + 0x15b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x15b)" ( (binary_expression "(int)local_94 + 0x15b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00022593;" goto statement_identifier ;)) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_84;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_84" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";" (assignment_expression "*(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n"" (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (string_literal ""Unrecognized permissions for %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ee2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ee2" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003b070();" (call_expression "FUN_0003b070()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" else (compound_statement "{\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" { (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -0xc) = local_90[6];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[6]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_90[6]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar8" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c50;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c50" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));" (assignment_expression "iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" identifier = (call_expression "chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" identifier (argument_list "(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" ( (pointer_expression "*(char **)(puVar17 + -0x10)" * (cast_expression "(char **)(puVar17 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(__mode_t *)(puVar17 + -0xc)" * (cast_expression "(__mode_t *)(puVar17 + -0xc)" ( (type_descriptor "__mode_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "iVar8 = local_84;" (assignment_expression "iVar8 = local_84" identifier = identifier) ;) (if_statement "if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Failed to set permissions for %s.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d89;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d89" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar8;" (assignment_expression "*(int *)(puVar17 + -8) = iVar8" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d95;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d95" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (if_statement "if (local_84 == 0) goto LAB_000225c8;" if (parenthesized_expression "(local_84 == 0)" ( (binary_expression "local_84 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000225c8;" goto statement_identifier ;)) (goto_statement "goto LAB_00022839;" goto statement_identifier ;) })) (labeled_statement "LAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);" statement_identifier : (expression_statement "local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);" (assignment_expression "local_a4._0_1_ = *(char *)((int)local_94 + 0x20d)" (field_expression "local_a4._0_1_" identifier . field_identifier) = (pointer_expression "*(char *)((int)local_94 + 0x20d)" * (cast_expression "(char *)((int)local_94 + 0x20d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x20d)" ( (binary_expression "(int)local_94 + 0x20d" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;)) (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "cVar4 = (byte)local_a4;" (assignment_expression "cVar4 = (byte)local_a4" identifier = (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (labeled_statement "joined_r0x00022b2f:\n              piVar3 = local_ac;" statement_identifier : (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;)) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) (if_statement "if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }" { (labeled_statement "LAB_0002285a:\n                piVar3 = local_ac;" statement_identifier : (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;)) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) (if_statement "if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }" if (parenthesized_expression "((iVar8 != -1) && ((byte)local_a4 != '\0'))" ( (binary_expression "(iVar8 != -1) && ((byte)local_a4 != '\0')" (parenthesized_expression "(iVar8 != -1)" ( (binary_expression "iVar8 != -1" identifier != number_literal) )) && (parenthesized_expression "((byte)local_a4 != '\0')" ( (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" ( (type_descriptor "byte" type_identifier) ) identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }" { (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b53;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b53" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "cVar4 = FUN_00049d50();" (assignment_expression "cVar4 = FUN_00049d50()" identifier = (call_expression "FUN_00049d50()" identifier (argument_list "()" ( )))) ;) (if_statement "if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }" if (parenthesized_expression "(cVar4 != '\0')" ( (binary_expression "cVar4 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }" { (expression_statement "*(int *)(puVar17 + -0xc) = local_90[4];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[4]" (pointer_expression "*(int *)(puVar17 + -0xc)" * (cast_expression "(int *)(puVar17 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_84;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_84" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d12;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d12" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00049bc0();" (call_expression "FUN_00049bc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (goto_statement "goto LAB_000225c8;" goto statement_identifier ;) })) (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) })) })) }) (else_clause "else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" else (compound_statement "{\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" { (expression_statement "local_a4._0_1_ = '\x01';" (assignment_expression "local_a4._0_1_ = '\x01'" (field_expression "local_a4._0_1_" identifier . field_identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (labeled_statement "LAB_00022839:\n              iVar8 = local_90[4];" statement_identifier : (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" identifier = (subscript_expression "local_90[4]" identifier [ number_literal ])) ;)) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" identifier = identifier) ;) (if_statement "if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x20d) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x20d) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x20d)" * (cast_expression "(char *)((int)local_94 + 0x20d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x20d)" ( (binary_expression "(int)local_94 + 0x20d" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" { (if_statement "if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }" if (parenthesized_expression "(*local_90 == 2)" ( (binary_expression "*local_90 == 2" (pointer_expression "*local_90" * identifier) == number_literal) )) (compound_statement "{\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }" { (expression_statement "cVar4 = *(char *)((int)local_94 + 0x91);" (assignment_expression "cVar4 = *(char *)((int)local_94 + 0x91)" identifier = (pointer_expression "*(char *)((int)local_94 + 0x91)" * (cast_expression "(char *)((int)local_94 + 0x91)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x91)" ( (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (goto_statement "goto joined_r0x00022b2f;" goto statement_identifier ;) })) (goto_statement "goto LAB_0002285a;" goto statement_identifier ;) })) }))) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" identifier = identifier) ;) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" identifier = identifier) ;) (expression_statement "local_84 = iVar10;" (assignment_expression "local_84 = iVar10" identifier = identifier) ;) (if_statement "if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }" if (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) (compound_statement "{\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }" { (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""%s: corrupt time-stamp.\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_a4 = (int *)iVar10;" (assignment_expression "local_a4 = (int *)iVar10" identifier = (cast_expression "(int *)iVar10" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2289b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2289b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" * (cast_expression "(int **)(puVar17 + -8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x228ad;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x228ad" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" identifier (argument_list "()" ( ))) ;) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" identifier = identifier) ;) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" identifier = identifier) ;) })) })) (labeled_statement "LAB_000225c8:\n          local_ac = piVar3;" statement_identifier : (expression_statement "local_ac = piVar3;" (assignment_expression "local_ac = piVar3" identifier = identifier) ;)) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" * (cast_expression "(uint *)(puVar17 + -0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = (subscript_expression "param_4[8]" identifier [ number_literal ])) ;) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225d9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225d9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" identifier = identifier) ;) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" * (cast_expression "(undefined4 *)(puVar17 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" * (cast_expression "(int *)(puVar17 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225f6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225f6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225fe;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225fe" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" identifier (argument_list "(*(void **)(puVar17 + -0x10))" ( (pointer_expression "*(void **)(puVar17 + -0x10)" * (cast_expression "(void **)(puVar17 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) ))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (if_statement "if (local_a4 == (int *)0x1) break;" if (parenthesized_expression "(local_a4 == (int *)0x1)" ( (binary_expression "local_a4 == (int *)0x1" identifier == (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "uVar16 = (int)local_a4 - 0x15;" (assignment_expression "uVar16 = (int)local_a4 - 0x15" identifier = (binary_expression "(int)local_a4 - 0x15" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal)) ;) (if_statement "if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }" if (parenthesized_expression "(uVar16 < 0x20)" ( (binary_expression "uVar16 < 0x20" identifier < number_literal) )) (compound_statement "{\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }" { (labeled_statement "LAB_000227a4:\n            piVar6 = local_a4;" statement_identifier : (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;)) (if_statement "if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;" if (parenthesized_expression "((0x80400001U >> (uVar16 & 0x1f) & 1) != 0)" ( (binary_expression "(0x80400001U >> (uVar16 & 0x1f) & 1) != 0" (parenthesized_expression "(0x80400001U >> (uVar16 & 0x1f) & 1)" ( (binary_expression "0x80400001U >> (uVar16 & 0x1f) & 1" (binary_expression "0x80400001U >> (uVar16 & 0x1f)" number_literal >> (parenthesized_expression "(uVar16 & 0x1f)" ( (binary_expression "uVar16 & 0x1f" identifier & number_literal) ))) & number_literal) )) != number_literal) )) (break_statement "break;" break ;)) })) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) (if_statement "if ((int)local_a4 - 0x35U < 2) break;" if (parenthesized_expression "((int)local_a4 - 0x35U < 2)" ( (binary_expression "(int)local_a4 - 0x35U < 2" (binary_expression "(int)local_a4 - 0x35U" (cast_expression "(int)local_a4" ( (type_descriptor "int" primitive_type) ) identifier) - number_literal) < number_literal) )) (break_statement "break;" break ;)) }))) (expression_statement "param_4[1] = param_4[1] & 0xfffffffc;" (assignment_expression "param_4[1] = param_4[1] & 0xfffffffc" (subscript_expression "param_4[1]" identifier [ number_literal ]) = (binary_expression "param_4[1] & 0xfffffffc" (subscript_expression "param_4[1]" identifier [ number_literal ]) & number_literal)) ;) (expression_statement "local_90 = (int *)local_90[9];" (assignment_expression "local_90 = (int *)local_90[9]" identifier = (cast_expression "(int *)local_90[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "local_90[9]" identifier [ number_literal ]))) ;) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" identifier = identifier) ;) }) while (parenthesized_expression "(local_90 != (int *)0x0)" ( (binary_expression "local_90 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) }))) (expression_statement "local_90 = piVar6;" (assignment_expression "local_90 = piVar6" identifier = identifier) ;) (if_statement "if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x16) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x16) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x16)" * (cast_expression "(char *)((int)local_94 + 0x16)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x16)" ( (binary_expression "(int)local_94 + 0x16" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }" { (expression_statement "iVar8 = local_94[8];" (assignment_expression "iVar8 = local_94[8]" identifier = (subscript_expression "local_94[8]" identifier [ number_literal ])) ;) (if_statement "if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" if (parenthesized_expression "((iVar8 == -1) || ((int)DAT_000a3460 < iVar8))" ( (binary_expression "(iVar8 == -1) || ((int)DAT_000a3460 < iVar8)" (parenthesized_expression "(iVar8 == -1)" ( (binary_expression "iVar8 == -1" identifier == number_literal) )) || (parenthesized_expression "((int)DAT_000a3460 < iVar8)" ( (binary_expression "(int)DAT_000a3460 < iVar8" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) < identifier) ))) )) (compound_statement "{\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }" { (expression_statement "*(uint **)(puVar17 + -0x10) = param_4;" (assignment_expression "*(uint **)(puVar17 + -0x10) = param_4" (pointer_expression "*(uint **)(puVar17 + -0x10)" * (cast_expression "(uint **)(puVar17 + -0x10)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22baf;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22baf" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "local_90 = (int *)FUN_000220d0();" (assignment_expression "local_90 = (int *)FUN_000220d0()" identifier = (cast_expression "(int *)FUN_000220d0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_000220d0()" identifier (argument_list "()" ( ))))) ;) }) (else_clause "else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" else (if_statement "if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" if (parenthesized_expression "(*(char *)((int)local_94 + 0x15b) != '\0')" ( (binary_expression "*(char *)((int)local_94 + 0x15b) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x15b)" * (cast_expression "(char *)((int)local_94 + 0x15b)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_94 + 0x15b)" ( (binary_expression "(int)local_94 + 0x15b" (cast_expression "(int)local_94" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" { (expression_statement "local_94 = DAT_000a3460;" (assignment_expression "local_94 = DAT_000a3460" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" * (cast_expression "(undefined4 *)(puVar17 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" * (cast_expression "(char **)(puVar17 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = (string_literal ""Will not retrieve dirs since depth is %d (max %d).\n"" " string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ca4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ca4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" identifier = (call_expression "dcgettext()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar1 = local_94;" (assignment_expression "puVar1 = local_94" identifier = identifier) ;) (expression_statement "*(int *)(puVar17 + -8) = iVar8;" (assignment_expression "*(int *)(puVar17 + -8) = iVar8" (pointer_expression "*(int *)(puVar17 + -8)" * (cast_expression "(int *)(puVar17 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -8)" ( (binary_expression "puVar17 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 **)(puVar17 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)(puVar17 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)(puVar17 + -0xc)" * (cast_expression "(undefined4 **)(puVar17 + -0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -0xc)" ( (binary_expression "puVar17 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" * (cast_expression "(undefined4 *)(puVar17 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x10)" ( (binary_expression "puVar17 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22cb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22cb5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" * (cast_expression "(undefined4 *)(puVar17 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar17 + -0x14)" ( (binary_expression "puVar17 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0003b070();" (call_expression "FUN_0003b070()" identifier (argument_list "()" ( ))) ;) })))) })) (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + -1)" ( (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) }) (else_clause "else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" else (compound_statement "{\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" { (if_statement "if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }" if (parenthesized_expression "(DAT_000a8b9b != '\0')" ( (binary_expression "DAT_000a8b9b != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }" { (expression_statement "DAT_000a3460 = puVar1;" (assignment_expression "DAT_000a3460 = puVar1" identifier = identifier) ;) (expression_statement "uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" identifier = (call_expression "dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" identifier (argument_list "(0,"Recursion depth %d exceeded max. depth %d.\n",5)" ( number_literal , (string_literal ""Recursion depth %d exceeded max. depth %d.\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_0003b070(uVar11,puVar1,local_90);" (call_expression "FUN_0003b070(uVar11,puVar1,local_90)" identifier (argument_list "(uVar11,puVar1,local_90)" ( identifier , identifier , identifier ))) ;) (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" identifier = (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)DAT_000a3460 + -1)" ( (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) })) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" identifier = identifier) ;) (expression_statement "local_90 = (int *)0x1a;" (assignment_expression "local_90 = (int *)0x1a" identifier = (cast_expression "(int *)0x1a" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (labeled_statement "LAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }" statement_identifier : (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }" if (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return local_90;\n  }" { (return_statement "return local_90;" return identifier ;) }))) (expression_statement "*(undefined **)(puVar17 + -4) = &UNK_00022f5b;" (assignment_expression "*(undefined **)(puVar17 + -4) = &UNK_00022f5b" (pointer_expression "*(undefined **)(puVar17 + -4)" * (cast_expression "(undefined **)(puVar17 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar17 + -4)" ( (binary_expression "puVar17 + -4" identifier + number_literal) )))) = (pointer_expression "&UNK_00022f5b" & identifier)) ;) (expression_statement "FUN_0006da50();" (call_expression "FUN_0006da50()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (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 (binary_expression IDENT == LIT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) <= IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (subscript_expression IDENT [ LIT ]) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT & LIT) | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (binary_expression (subscript_expression IDENT [ LIT ]) != LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) < (pointer_expression * IDENT)) )))) , (comma_expression (assignment_expression IDENT = (binary_expression IDENT - (subscript_expression IDENT [ LIT ]))) , (binary_expression (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , (subscript_expression IDENT [ LIT ]) ))) != (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) != (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) < LIT)))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (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 (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (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) )))) = IDENT) ;) (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 ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (char_literal ' escape_sequence ')) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (subscript_expression IDENT [ LIT ])) && (binary_expression IDENT == LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence escape_sequence ")) ;) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence escape_sequence ")) ;) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (labeled_statement statement_identifier : (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 { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))) & LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = (string_literal " string_content escape_sequence escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (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 ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 (call_expression IDENT (argument_list ( (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * IDENT)) ;) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " escape_sequence ")) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (goto_statement goto statement_identifier ;) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (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 ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (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 ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (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 IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_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 IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (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 (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT >> (parenthesized_expression ( (binary_expression IDENT & LIT) ))) & LIT) )) != LIT) )) (break_statement break ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - LIT) < LIT) )) (break_statement break ;)) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (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 ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "int * __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    \n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}" (primitive_type "int") (pointer_declarator "* __regparm3 FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)" (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00022360(int param_1,undefined4 param_2,int *param_3,uint *param_4)" (identifier "FUN_00022360") (parameter_list "(int param_1,undefined4 param_2,int *param_3,uint *param_4)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) (, ",") (parameter_declaration "uint *param_4" (type_identifier "uint") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) () ")")))) (compound_statement "{\n  undefined4 *puVar1;\n  int iVar2;\n  int *piVar3;\n  char cVar4;\n  uint uVar5;\n  int *piVar6;\n  char *pcVar7;\n  int iVar8;\n  undefined4 uVar9;\n  int iVar10;\n  undefined4 uVar11;\n  size_t sVar12;\n  size_t sVar13;\n  byte bVar14;\n  undefined1 uVar15;\n  uint uVar16;\n  undefined1 *puVar17;\n  undefined1 *puVar18;\n  undefined1 *puVar19;\n  int in_GS_OFFSET;\n  undefined1 auStack_cc [12];\n  uint local_c0;\n  int *local_bc;\n  byte local_b5;\n  undefined4 local_b4;\n  uint *local_b0;\n  int *local_ac;\n  int local_a8;\n  int *local_a4;\n  undefined4 local_a0;\n  uint local_9c;\n  int local_98;\n  undefined4 *local_94;\n  int *local_90;\n  int local_84;\n  undefined1 local_80 [16];\n  uint local_70;\n  int *local_54;\n  int local_50;\n  int local_38;\n  int local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2236b;\n  puVar17 = auStack_cc;\n  local_94 = &DAT_000a8a40;\n  local_20 = *(int *)(in_GS_OFFSET + 0x14);\n  local_84 = 0;\n  local_90 = (int *)DAT_000a8a60;\n  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);\n  local_bc = param_3;\n  local_b4 = param_2;\n  local_98 = param_1;\n  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }\nLAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }\n                    \n  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;\n  FUN_0006da50();\n}" ({ "{") (declaration "undefined4 *puVar1;" (type_identifier "undefined4") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int *piVar3;" (primitive_type "int") (pointer_declarator "*piVar3" (* "*") (identifier "piVar3")) (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "char *pcVar7;" (primitive_type "char") (pointer_declarator "*pcVar7" (* "*") (identifier "pcVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "size_t sVar12;" (primitive_type "size_t") (identifier "sVar12") (; ";")) (declaration "size_t sVar13;" (primitive_type "size_t") (identifier "sVar13") (; ";")) (declaration "byte bVar14;" (type_identifier "byte") (identifier "bVar14") (; ";")) (declaration "undefined1 uVar15;" (type_identifier "undefined1") (identifier "uVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "undefined1 *puVar17;" (type_identifier "undefined1") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "undefined1 *puVar18;" (type_identifier "undefined1") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "undefined1 *puVar19;" (type_identifier "undefined1") (pointer_declarator "*puVar19" (* "*") (identifier "puVar19")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined1 auStack_cc [12];" (type_identifier "undefined1") (array_declarator "auStack_cc [12]" (identifier "auStack_cc") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "uint local_c0;" (type_identifier "uint") (identifier "local_c0") (; ";")) (declaration "int *local_bc;" (primitive_type "int") (pointer_declarator "*local_bc" (* "*") (identifier "local_bc")) (; ";")) (declaration "byte local_b5;" (type_identifier "byte") (identifier "local_b5") (; ";")) (declaration "undefined4 local_b4;" (type_identifier "undefined4") (identifier "local_b4") (; ";")) (declaration "uint *local_b0;" (type_identifier "uint") (pointer_declarator "*local_b0" (* "*") (identifier "local_b0")) (; ";")) (declaration "int *local_ac;" (primitive_type "int") (pointer_declarator "*local_ac" (* "*") (identifier "local_ac")) (; ";")) (declaration "int local_a8;" (primitive_type "int") (identifier "local_a8") (; ";")) (declaration "int *local_a4;" (primitive_type "int") (pointer_declarator "*local_a4" (* "*") (identifier "local_a4")) (; ";")) (declaration "undefined4 local_a0;" (type_identifier "undefined4") (identifier "local_a0") (; ";")) (declaration "uint local_9c;" (type_identifier "uint") (identifier "local_9c") (; ";")) (declaration "int local_98;" (primitive_type "int") (identifier "local_98") (; ";")) (declaration "undefined4 *local_94;" (type_identifier "undefined4") (pointer_declarator "*local_94" (* "*") (identifier "local_94")) (; ";")) (declaration "int *local_90;" (primitive_type "int") (pointer_declarator "*local_90" (* "*") (identifier "local_90")) (; ";")) (declaration "int local_84;" (primitive_type "int") (identifier "local_84") (; ";")) (declaration "undefined1 local_80 [16];" (type_identifier "undefined1") (array_declarator "local_80 [16]" (identifier "local_80") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint local_70;" (type_identifier "uint") (identifier "local_70") (; ";")) (declaration "int *local_54;" (primitive_type "int") (pointer_declarator "*local_54" (* "*") (identifier "local_54")) (; ";")) (declaration "int local_50;" (primitive_type "int") (identifier "local_50") (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x2236b;" (assignment_expression "uStack_14 = 0x2236b" (identifier "uStack_14") (= "=") (number_literal "0x2236b")) (; ";")) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" (identifier "puVar17") (= "=") (identifier "auStack_cc")) (; ";")) (expression_statement "local_94 = &DAT_000a8a40;" (assignment_expression "local_94 = &DAT_000a8a40" (identifier "local_94") (= "=") (pointer_expression "&DAT_000a8a40" (& "&") (identifier "DAT_000a8a40"))) (; ";")) (expression_statement "local_20 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = (int *)DAT_000a8a60;" (assignment_expression "local_90 = (int *)DAT_000a8a60" (identifier "local_90") (= "=") (cast_expression "(int *)DAT_000a8a60" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "DAT_000a8a60"))) (; ";")) (expression_statement "puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);" (assignment_expression "puVar1 = (undefined4 *)((int)DAT_000a3460 + 1)" (identifier "puVar1") (= "=") (cast_expression "(undefined4 *)((int)DAT_000a3460 + 1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_000a3460 + 1)" (( "(") (binary_expression "(int)DAT_000a3460 + 1" (cast_expression "(int)DAT_000a3460" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000a3460")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "local_bc = param_3;" (assignment_expression "local_bc = param_3" (identifier "local_bc") (= "=") (identifier "param_3")) (; ";")) (expression_statement "local_b4 = param_2;" (assignment_expression "local_b4 = param_2" (identifier "local_b4") (= "=") (identifier "param_2")) (; ";")) (expression_statement "local_98 = param_1;" (assignment_expression "local_98 = param_1" (identifier "local_98") (= "=") (identifier "param_1")) (; ";")) (if_statement "if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }\n  else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" (if "if") (parenthesized_expression "(DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60)" (( "(") (binary_expression "DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60" (binary_expression "DAT_000a8a60 == -1" (identifier "DAT_000a8a60") (== "==") (number_literal "-1")) (|| "||") (binary_expression "(int)puVar1 <= DAT_000a8a60" (cast_expression "(int)puVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar1")) (<= "<=") (identifier "DAT_000a8a60"))) () ")")) (compound_statement "{\n    uVar16 = *param_4;\n    DAT_000a3460 = puVar1;\n    *param_4 = uVar16 & 0xfffffffe;\n    uVar5 = param_4[1] & 0xfffffffd;\n    if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }\n    uVar16 = uVar5 & 0xfffffffe | 0x14;\n    if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }\n    param_4[1] = uVar16;\n    if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }\n    local_90 = piVar6;\n    if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }\n    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n  }" ({ "{") (expression_statement "uVar16 = *param_4;" (assignment_expression "uVar16 = *param_4" (identifier "uVar16") (= "=") (pointer_expression "*param_4" (* "*") (identifier "param_4"))) (; ";")) (expression_statement "DAT_000a3460 = puVar1;" (assignment_expression "DAT_000a3460 = puVar1" (identifier "DAT_000a3460") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*param_4 = uVar16 & 0xfffffffe;" (assignment_expression "*param_4 = uVar16 & 0xfffffffe" (pointer_expression "*param_4" (* "*") (identifier "param_4")) (= "=") (binary_expression "uVar16 & 0xfffffffe" (identifier "uVar16") (& "&") (number_literal "0xfffffffe"))) (; ";")) (expression_statement "uVar5 = param_4[1] & 0xfffffffd;" (assignment_expression "uVar5 = param_4[1] & 0xfffffffd" (identifier "uVar5") (= "=") (binary_expression "param_4[1] & 0xfffffffd" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xfffffffd"))) (; ";")) (if_statement "if ((uVar16 & 2) == 0) {\n      uVar5 = param_4[1] | 2;\n    }" (if "if") (parenthesized_expression "((uVar16 & 2) == 0)" (( "(") (binary_expression "(uVar16 & 2) == 0" (parenthesized_expression "(uVar16 & 2)" (( "(") (binary_expression "uVar16 & 2" (identifier "uVar16") (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar5 = param_4[1] | 2;\n    }" ({ "{") (expression_statement "uVar5 = param_4[1] | 2;" (assignment_expression "uVar5 = param_4[1] | 2" (identifier "uVar5") (= "=") (binary_expression "param_4[1] | 2" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (| "|") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "uVar16 = uVar5 & 0xfffffffe | 0x14;" (assignment_expression "uVar16 = uVar5 & 0xfffffffe | 0x14" (identifier "uVar16") (= "=") (binary_expression "uVar5 & 0xfffffffe | 0x14" (binary_expression "uVar5 & 0xfffffffe" (identifier "uVar5") (& "&") (number_literal "0xfffffffe")) (| "|") (number_literal "0x14"))) (; ";")) (if_statement "if ((int)param_4[2] < 0) {\n      uVar16 = uVar5 | 0x15;\n    }" (if "if") (parenthesized_expression "((int)param_4[2] < 0)" (( "(") (binary_expression "(int)param_4[2] < 0" (cast_expression "(int)param_4[2]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "param_4[2]" (identifier "param_4") ([ "[") (number_literal "2") (] "]"))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar16 = uVar5 | 0x15;\n    }" ({ "{") (expression_statement "uVar16 = uVar5 | 0x15;" (assignment_expression "uVar16 = uVar5 | 0x15" (identifier "uVar16") (= "=") (binary_expression "uVar5 | 0x15" (identifier "uVar5") (| "|") (number_literal "0x15"))) (; ";")) (} "}"))) (expression_statement "param_4[1] = uVar16;" (assignment_expression "param_4[1] = uVar16" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (param_3 == (int *)0x0) {\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }\n    else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" (if "if") (parenthesized_expression "(param_3 == (int *)0x0)" (( "(") (binary_expression "param_3 == (int *)0x0" (identifier "param_3") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      local_90 = (int *)0x19;\n      puVar17 = auStack_cc;\n      piVar6 = local_90;\n    }" ({ "{") (expression_statement "local_90 = (int *)0x19;" (assignment_expression "local_90 = (int *)0x19" (identifier "local_90") (= "=") (cast_expression "(int *)0x19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19"))) (; ";")) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" (identifier "puVar17") (= "=") (identifier "auStack_cc")) (; ";")) (expression_statement "piVar6 = local_90;" (assignment_expression "piVar6 = local_90" (identifier "piVar6") (= "=") (identifier "local_90")) (; ";")) (} "}")) (else_clause "else {\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" (else "else") (compound_statement "{\n      local_b0 = &DAT_000a8c80;\n      local_b5 = 0;\n      local_90 = param_3;\n      do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);\n    }" ({ "{") (expression_statement "local_b0 = &DAT_000a8c80;" (assignment_expression "local_b0 = &DAT_000a8c80" (identifier "local_b0") (= "=") (pointer_expression "&DAT_000a8c80" (& "&") (identifier "DAT_000a8c80"))) (; ";")) (expression_statement "local_b5 = 0;" (assignment_expression "local_b5 = 0" (identifier "local_b5") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_90 = param_3;" (assignment_expression "local_90 = param_3" (identifier "local_90") (= "=") (identifier "param_3")) (; ";")) (do_statement "do {\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      } while (local_90 != (int *)0x0);" (do "do") (compound_statement "{\n        iVar10 = local_98;\n        iVar8 = local_94[0x55];\n        if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }\n        uVar16 = param_4[8];\n        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);\n        local_9c = uVar16;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;\n        local_a0 = FUN_0005af70();\n        *(int *)(puVar17 + -0xc) = local_90[1];\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22492;\n        FUN_00046e10();\n        *(undefined4 *)(puVar17 + -0xc) = 0;\n        *(int *)(puVar17 + -0x10) = iVar10;\n        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;\n        uVar16 = FUN_00045130();\n        param_4[8] = uVar16;\n        if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }\n        param_4[1] = param_4[1] & 0xfffffffc;\n        local_90 = (int *)local_90[9];\n        piVar6 = local_a4;\n      }" ({ "{") (expression_statement "iVar10 = local_98;" (assignment_expression "iVar10 = local_98" (identifier "iVar10") (= "=") (identifier "local_98")) (; ";")) (expression_statement "iVar8 = local_94[0x55];" (assignment_expression "iVar8 = local_94[0x55]" (identifier "iVar8") (= "=") (subscript_expression "local_94[0x55]" (identifier "local_94") ([ "[") (number_literal "0x55") (] "]"))) (; ";")) (if_statement "if ((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }" (if "if") (parenthesized_expression "((iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0))" (( "(") (binary_expression "(iVar8 != 0 || local_94[0x54] != 0) &&\n           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)" (parenthesized_expression "(iVar8 != 0 || local_94[0x54] != 0)" (( "(") (binary_expression "iVar8 != 0 || local_94[0x54] != 0" (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "local_94[0x54] != 0" (subscript_expression "local_94[0x54]" (identifier "local_94") ([ "[") (number_literal "0x54") (] "]")) (!= "!=") (number_literal "0"))) () ")")) (&& "&&") (parenthesized_expression "(uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)" (( "(") (comma_expression "uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (assignment_expression "uVar16 = (uint)((uint)local_94[0x54] < *local_b0)" (identifier "uVar16") (= "=") (call_expression "(uint)((uint)local_94[0x54] < *local_b0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((uint)local_94[0x54] < *local_b0)" (( "(") (binary_expression "(uint)local_94[0x54] < *local_b0" (cast_expression "(uint)local_94[0x54]" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (subscript_expression "local_94[0x54]" (identifier "local_94") ([ "[") (number_literal "0x54") (] "]"))) (< "<") (pointer_expression "*local_b0" (* "*") (identifier "local_b0"))) () ")")))) (, ",") (comma_expression "iVar2 = iVar8 - local_b0[1],\n           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (assignment_expression "iVar2 = iVar8 - local_b0[1]" (identifier "iVar2") (= "=") (binary_expression "iVar8 - local_b0[1]" (identifier "iVar8") (- "-") (subscript_expression "local_b0[1]" (identifier "local_b0") ([ "[") (number_literal "1") (] "]")))) (, ",") (binary_expression "(SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0" (parenthesized_expression "(SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16))" (( "(") (binary_expression "SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)" (call_expression "SBORROW4(iVar8,local_b0[1])" (identifier "SBORROW4") (argument_list "(iVar8,local_b0[1])" (( "(") (identifier "iVar8") (, ",") (subscript_expression "local_b0[1]" (identifier "local_b0") ([ "[") (number_literal "1") (] "]")) () ")"))) (!= "!=") (call_expression "SBORROW4(iVar2,uVar16)" (identifier "SBORROW4") (argument_list "(iVar2,uVar16)" (( "(") (identifier "iVar2") (, ",") (identifier "uVar16") () ")")))) () ")")) (!= "!=") (binary_expression "(int)(iVar2 - uVar16) < 0" (cast_expression "(int)(iVar2 - uVar16)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(iVar2 - uVar16)" (( "(") (binary_expression "iVar2 - uVar16" (identifier "iVar2") (- "-") (identifier "uVar16")) () ")"))) (< "<") (number_literal "0"))))) () ")"))) () ")")) (compound_statement "{\n          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n          local_90 = (int *)0x2b;\n          goto LAB_00022667;\n        }" ({ "{") (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" (identifier "DAT_000a3460") (= "=") (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_000a3460 + -1)" (( "(") (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000a3460")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "local_90 = (int *)0x2b;" (assignment_expression "local_90 = (int *)0x2b" (identifier "local_90") (= "=") (cast_expression "(int *)0x2b" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2b"))) (; ";")) (goto_statement "goto LAB_00022667;" (goto "goto") (statement_identifier "LAB_00022667") (; ";")) (} "}"))) (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" (identifier "uVar16") (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24)" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(local_98 + 0x24)" (* "*") (cast_expression "(undefined4 *)(local_98 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_98 + 0x24)" (( "(") (binary_expression "local_98 + 0x24" (identifier "local_98") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "local_9c = uVar16;" (assignment_expression "local_9c = uVar16" (identifier "local_9c") (= "=") (identifier "uVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2247b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2247b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2247b")) (; ";")) (expression_statement "local_a0 = FUN_0005af70();" (assignment_expression "local_a0 = FUN_0005af70()" (identifier "local_a0") (= "=") (call_expression "FUN_0005af70()" (identifier "FUN_0005af70") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_90[1]" (identifier "local_90") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar10;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar10" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22492;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22492" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22492")) (; ";")) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" (identifier "FUN_00046e10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar10;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar10" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar10")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2249c;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2249c" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2249c")) (; ";")) (expression_statement "uVar16 = FUN_00045130();" (assignment_expression "uVar16 = FUN_00045130()" (identifier "uVar16") (= "=") (call_expression "FUN_00045130()" (identifier "FUN_00045130") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "param_4[8] = uVar16;" (assignment_expression "param_4[8] = uVar16" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (if_statement "if (*(char *)(local_94 + 0x57) == '\0') {\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }\n        else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" (if "if") (parenthesized_expression "(*(char *)(local_94 + 0x57) == '\0')" (( "(") (binary_expression "*(char *)(local_94 + 0x57) == '\0'" (pointer_expression "*(char *)(local_94 + 0x57)" (* "*") (cast_expression "(char *)(local_94 + 0x57)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 0x57)" (( "(") (binary_expression "local_94 + 0x57" (identifier "local_94") (+ "+") (number_literal "0x57")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          iVar8 = *local_90;\n          if (iVar8 != 1) goto LAB_000224d0;\nLAB_00022699:\n          bVar14 = 1;\nLAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }\nLAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          *(int **)(puVar17 + -0x10) = &local_84;\n          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;\n          FUN_00043f00();\n          if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }\nLAB_00022822:\n          local_a4._0_1_ = '\0';\n          piVar6 = (int *)0x19;\n          if (local_84 != 0) goto LAB_00022839;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = (int *)0x19;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;\n          free(*(void **)(puVar17 + -0x10));\n        }" ({ "{") (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" (identifier "iVar8") (= "=") (pointer_expression "*local_90" (* "*") (identifier "local_90"))) (; ";")) (if_statement "if (iVar8 != 1) goto LAB_000224d0;" (if "if") (parenthesized_expression "(iVar8 != 1)" (( "(") (binary_expression "iVar8 != 1" (identifier "iVar8") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_000224d0;" (goto "goto") (statement_identifier "LAB_000224d0") (; ";"))) (labeled_statement "LAB_00022699:\n          bVar14 = 1;" (statement_identifier "LAB_00022699") (: ":") (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" (identifier "bVar14") (= "=") (number_literal "1")) (; ";"))) (labeled_statement "LAB_0002269e:\n          if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" (statement_identifier "LAB_0002269e") (: ":") (if_statement "if (*(char *)((int)local_94 + 0x16) == '\0') {\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x16) == '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x16) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x16)" (* "*") (cast_expression "(char *)((int)local_94 + 0x16)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x16)" (( "(") (binary_expression "(int)local_94 + 0x16" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x16")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n            *(int *)(puVar17 + -0x10) = local_90[1];\n            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;\n            local_a4 = (int *)FUN_0005aa80();\n            pcVar7 = "Skipping directory %s.\n";\n            *(undefined4 *)(puVar17 + -8) = 5;\nLAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;\n            *(undefined4 *)(puVar17 + -0x10) = 0;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;\n            uVar11 = dcgettext();\n            *(int **)(puVar17 + -8) = local_a4;\n            *(undefined4 *)(puVar17 + -0xc) = uVar11;\n            *(undefined4 *)(puVar17 + -0x10) = 1;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;\n            FUN_0003af00();\n            bVar14 = (byte)local_ac;\n          }" ({ "{") (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14)" (identifier "local_ac") (= "=") (cast_expression "(int *)CONCAT31(local_ac._1_3_,bVar14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_ac._1_3_,bVar14)" (identifier "CONCAT31") (argument_list "(local_ac._1_3_,bVar14)" (( "(") (field_expression "local_ac._1_3_" (identifier "local_ac") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar14") () ")"))))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0x10) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_90[1]" (identifier "local_90") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x226c1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x226c1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x226c1")) (; ";")) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" (identifier "local_a4") (= "=") (cast_expression "(int *)FUN_0005aa80()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "pcVar7 = "Skipping directory %s.\n";" (assignment_expression "pcVar7 = "Skipping directory %s.\n"" (identifier "pcVar7") (= "=") (string_literal ""Skipping directory %s.\n"" (" """) (string_content "Skipping directory %s.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (labeled_statement "LAB_00022705:\n            *(char **)(puVar17 + -0xc) = pcVar7;" (statement_identifier "LAB_00022705") (: ":") (expression_statement "*(char **)(puVar17 + -0xc) = pcVar7;" (assignment_expression "*(char **)(puVar17 + -0xc) = pcVar7" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pcVar7")) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2270d;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2270d" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2270d")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" (* "*") (cast_expression "(int **)(puVar17 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2271f;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2271f" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2271f")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar14 = (byte)local_ac;" (assignment_expression "bVar14 = (byte)local_ac" (identifier "bVar14") (= "=") (cast_expression "(byte)local_ac" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_ac"))) (; ";")) (} "}")))) (labeled_statement "LAB_00022729:\n          *(uint *)(puVar17 + -0xc) = param_4[8];" (statement_identifier "LAB_00022729") (: ":") (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";"))) (expression_statement "*(int **)(puVar17 + -0x10) = &local_84;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_84" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_84" (& "&") (identifier "local_84"))) (; ";")) (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14)" (identifier "local_a4") (= "=") (cast_expression "(int *)CONCAT31(local_a4._1_3_,bVar14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_a4._1_3_,bVar14)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,bVar14)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar14") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2273e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2273e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2273e")) (; ";")) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" (identifier "FUN_00043f00") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((byte)local_a4 != '\0') {\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }" (if "if") (parenthesized_expression "((byte)local_a4 != '\0')" (( "(") (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            piVar6 = (int *)0x19;\n            if (local_84 != 0) goto LAB_00022542;\n            *(uint *)(puVar17 + -0x10) = param_4[8];\n            local_a4 = (int *)0x19;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22771;\n            free(*(void **)(puVar17 + -0x10));\n            uVar11 = local_a0;\n            param_4[8] = local_9c;\n            *(undefined4 *)(puVar17 + -0xc) = local_a0;\n            *(int *)(puVar17 + -0x10) = local_98;\n            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;\n            FUN_00046e10();\n            *(undefined4 *)(puVar17 + -0x10) = uVar11;\n            *(undefined4 *)(puVar17 + -0x14) = 0x22796;\n            free(*(void **)(puVar17 + -0x10));\n            uVar16 = 4;\n            goto LAB_000227a4;\n          }" ({ "{") (expression_statement "piVar6 = (int *)0x19;" (assignment_expression "piVar6 = (int *)0x19" (identifier "piVar6") (= "=") (cast_expression "(int *)0x19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19"))) (; ";")) (if_statement "if (local_84 != 0) goto LAB_00022542;" (if "if") (parenthesized_expression "(local_84 != 0)" (( "(") (binary_expression "local_84 != 0" (identifier "local_84") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00022542;" (goto "goto") (statement_identifier "LAB_00022542") (; ";"))) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_a4 = (int *)0x19;" (assignment_expression "local_a4 = (int *)0x19" (identifier "local_a4") (= "=") (cast_expression "(int *)0x19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22771;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22771" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22771")) (; ";")) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar17 + -0x10)" (* "*") (cast_expression "(void **)(puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" (identifier "uVar11") (= "=") (identifier "local_a0")) (; ";")) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2278e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2278e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2278e")) (; ";")) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" (identifier "FUN_00046e10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22796;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22796" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22796")) (; ";")) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar17 + -0x10)" (* "*") (cast_expression "(void **)(puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar16 = 4;" (assignment_expression "uVar16 = 4" (identifier "uVar16") (= "=") (number_literal "4")) (; ";")) (goto_statement "goto LAB_000227a4;" (goto "goto") (statement_identifier "LAB_000227a4") (; ";")) (} "}"))) (labeled_statement "LAB_00022822:\n          local_a4._0_1_ = '\0';" (statement_identifier "LAB_00022822") (: ":") (expression_statement "local_a4._0_1_ = '\0';" (assignment_expression "local_a4._0_1_ = '\0'" (field_expression "local_a4._0_1_" (identifier "local_a4") (. ".") (field_identifier "_0_1_")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";"))) (expression_statement "piVar6 = (int *)0x19;" (assignment_expression "piVar6 = (int *)0x19" (identifier "piVar6") (= "=") (cast_expression "(int *)0x19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19"))) (; ";")) (if_statement "if (local_84 != 0) goto LAB_00022839;" (if "if") (parenthesized_expression "(local_84 != 0)" (( "(") (binary_expression "local_84 != 0" (identifier "local_84") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00022839;" (goto "goto") (statement_identifier "LAB_00022839") (; ";"))) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_a4 = (int *)0x19;" (assignment_expression "local_a4 = (int *)0x19" (identifier "local_a4") (= "=") (cast_expression "(int *)0x19" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x19"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22af1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22af1" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22af1")) (; ";")) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar17 + -0x10)" (* "*") (cast_expression "(void **)(puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" (identifier "uVar11") (= "=") (identifier "local_a0")) (; ";")) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b0e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b0e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22b0e")) (; ";")) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" (identifier "FUN_00046e10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b16;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b16" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22b16")) (; ";")) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar17 + -0x10)" (* "*") (cast_expression "(void **)(puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" (else "else") (compound_statement "{\n          iVar8 = *local_90;\n          if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }\nLAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;\n          *(undefined4 *)(puVar17 + -0xc) = 0;\n          *(uint **)(puVar17 + -0x10) = param_4;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;\n          piVar6 = (int *)FUN_00020e70();\n          *(uint *)(puVar17 + -0xc) = param_4[8];\n          local_a4 = piVar6;\n          *(int **)(puVar17 + -0x10) = &local_84;\n          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;\n          FUN_00043f00();\n          piVar6 = local_a4;\n          piVar3 = local_ac;\n          if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }\nLAB_000225c8:\n          local_ac = piVar3;\n          *(uint *)(puVar17 + -0x10) = param_4[8];\n          local_a4 = piVar6;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;\n          free(*(void **)(puVar17 + -0x10));\n          uVar11 = local_a0;\n          param_4[8] = local_9c;\n          *(undefined4 *)(puVar17 + -0xc) = local_a0;\n          *(int *)(puVar17 + -0x10) = local_98;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;\n          FUN_00046e10();\n          *(undefined4 *)(puVar17 + -0x10) = uVar11;\n          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;\n          free(*(void **)(puVar17 + -0x10));\n          piVar6 = local_a4;\n          if (local_a4 == (int *)0x1) break;\n          uVar16 = (int)local_a4 - 0x15;\n          if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }\n          piVar6 = local_a4;\n          if ((int)local_a4 - 0x35U < 2) break;\n        }" ({ "{") (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" (identifier "iVar8") (= "=") (pointer_expression "*local_90" (* "*") (identifier "local_90"))) (; ";")) (if_statement "if (iVar8 == 0) {\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }\n          else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));\n            *(undefined1 **)(puVar17 + -8) = local_80;\n            *(uint *)(puVar17 + -0xc) = uVar16;\n            *(undefined4 *)(puVar17 + -0x10) = 3;\n            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;\n            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));\n            bVar14 = (byte)local_a4;\n            if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }\nLAB_000229b3:\n            iVar8 = *local_90;\njoined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;\n            if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }\n          }" ({ "{") (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" (identifier "local_a4") (= "=") (cast_expression "(int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(char *)(local_94 + 0x57))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(char *)(local_94 + 0x57)" (* "*") (cast_expression "(char *)(local_94 + 0x57)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_94 + 0x57)" (( "(") (binary_expression "local_94 + 0x57" (identifier "local_94") (+ "+") (number_literal "0x57")) () ")")))) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar17 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar17 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0xc) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x228e5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x228e5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x228e5")) (; ";")) (expression_statement "iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8));" (assignment_expression "iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" (identifier "iVar8") (= "=") (call_expression "__xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" (identifier "__xstat64") (argument_list "(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                              *(stat64 **)(puVar17 + -8))" (( "(") (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(stat64 **)(puVar17 + -8)" (* "*") (cast_expression "(stat64 **)(puVar17 + -8)" (( "(") (type_descriptor "stat64 **" (type_identifier "stat64") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" (identifier "bVar14") (= "=") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4"))) (; ";")) (if_statement "if (iVar8 == 0) {\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }" (if "if") (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar8 = local_90[4];\n              local_a4 = (int *)iVar8;\n              if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }\nLAB_00022bc8:\n              uVar16 = param_4[8];\n              if (local_38 < iVar8) goto LAB_00022bdb;\n              *(uint *)(puVar17 + -0x10) = uVar16;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;\n              local_a4 = (int *)FUN_0005aa80();\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;\n              FUN_0003af00();\n              iVar8 = *local_90;\n              if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }\n              if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }\nLAB_00022810:\n              puVar19 = puVar17 + -8;\nLAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];\n              *(int **)(puVar19 + -8) = &local_84;\n              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;\n              FUN_00043f00();\n              puVar17 = puVar19 + 8;\n              goto LAB_00022822;\n            }" ({ "{") (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" (identifier "iVar8") (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "local_a4 = (int *)iVar8;" (assignment_expression "local_a4 = (int *)iVar8" (identifier "local_a4") (= "=") (cast_expression "(int *)iVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar8"))) (; ";")) (if_statement "if ((param_4[5] & 0xfffffffd) == 0) {\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" (if "if") (parenthesized_expression "((param_4[5] & 0xfffffffd) == 0)" (( "(") (binary_expression "(param_4[5] & 0xfffffffd) == 0" (parenthesized_expression "(param_4[5] & 0xfffffffd)" (( "(") (binary_expression "param_4[5] & 0xfffffffd" (subscript_expression "param_4[5]" (identifier "param_4") ([ "[") (number_literal "5") (] "]")) (& "&") (number_literal "0xfffffffd")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                local_ac = local_54;\n                local_a8 = local_50;\n                local_c0 = (uint)local_54 ^ local_90[2];\n                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;\n                if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }\n                uVar16 = param_4[8];\nLAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);\n                *(uint *)(puVar17 + -0x10) = uVar16;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;\n                uVar11 = dcgettext();\n                *(int **)(puVar17 + -8) = local_a4;\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;\n                FUN_0003af00();\n                iVar8 = *local_90;\n                local_b5 = (byte)local_ac;\n                bVar14 = (byte)local_ac;\n                goto joined_r0x00022c30;\n              }" ({ "{") (expression_statement "local_ac = local_54;" (assignment_expression "local_ac = local_54" (identifier "local_ac") (= "=") (identifier "local_54")) (; ";")) (expression_statement "local_a8 = local_50;" (assignment_expression "local_a8 = local_50" (identifier "local_a8") (= "=") (identifier "local_50")) (; ";")) (expression_statement "local_c0 = (uint)local_54 ^ local_90[2];" (assignment_expression "local_c0 = (uint)local_54 ^ local_90[2]" (identifier "local_c0") (= "=") (binary_expression "(uint)local_54 ^ local_90[2]" (cast_expression "(uint)local_54" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_54")) (^ "^") (subscript_expression "local_90[2]" (identifier "local_90") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;" (if "if") (parenthesized_expression "(local_50 == local_90[3] && local_c0 == 0)" (( "(") (binary_expression "local_50 == local_90[3] && local_c0 == 0" (binary_expression "local_50 == local_90[3]" (identifier "local_50") (== "==") (subscript_expression "local_90[3]" (identifier "local_90") ([ "[") (number_literal "3") (] "]"))) (&& "&&") (binary_expression "local_c0 == 0" (identifier "local_c0") (== "==") (number_literal "0"))) () ")")) (goto_statement "goto LAB_00022bc8;" (goto "goto") (statement_identifier "LAB_00022bc8") (; ";"))) (if_statement "if (iVar8 <= local_38) {\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }" (if "if") (parenthesized_expression "(iVar8 <= local_38)" (( "(") (binary_expression "iVar8 <= local_38" (identifier "iVar8") (<= "<=") (identifier "local_38")) () ")")) (compound_statement "{\n                  *(int *)(puVar17 + -0xc) = local_50;\n                  *(int **)(puVar17 + -0x10) = local_ac;\n                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);\n                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;\n                  local_a4 = (int *)FUN_0004d760();\n                  *(undefined4 *)(puVar17 + -8) = 5;\n                  *(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;\n                  uVar11 = dcgettext();\n                  *(int **)(puVar17 + -8) = local_a4;\n                  *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                  *(undefined4 *)(puVar17 + -0x10) = 0;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;\n                  FUN_0003af00();\n                  bVar14 = (byte)local_c0;\n                  goto LAB_000229b3;\n                }" ({ "{") (expression_statement "*(int *)(puVar17 + -0xc) = local_50;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_50" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_50")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = local_ac;" (assignment_expression "*(int **)(puVar17 + -0x10) = local_ac" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,bVar14);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,bVar14)" (identifier "local_c0") (= "=") (call_expression "CONCAT31(local_c0._1_3_,bVar14)" (identifier "CONCAT31") (argument_list "(local_c0._1_3_,bVar14)" (( "(") (field_expression "local_c0._1_3_" (identifier "local_c0") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar14") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2297e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2297e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2297e")) (; ";")) (expression_statement "local_a4 = (int *)FUN_0004d760();" (assignment_expression "local_a4 = (int *)FUN_0004d760()" (identifier "local_a4") (= "=") (cast_expression "(int *)FUN_0004d760()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0004d760()" (identifier "FUN_0004d760") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                       "The sizes do not match (local %s) -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""The sizes do not match (local %s) -- retrieving.\n\n"" (" """) (string_content "The sizes do not match (local %s) -- retrieving.") (escape_sequence "\n") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22997;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22997" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22997")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" (* "*") (cast_expression "(int **)(puVar17 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x229a9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x229a9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x229a9")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar14 = (byte)local_c0;" (assignment_expression "bVar14 = (byte)local_c0" (identifier "bVar14") (= "=") (cast_expression "(byte)local_c0" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_c0"))) (; ";")) (goto_statement "goto LAB_000229b3;" (goto "goto") (statement_identifier "LAB_000229b3") (; ";")) (} "}"))) (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" (identifier "uVar16") (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (labeled_statement "LAB_00022bdb:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);" (statement_identifier "LAB_00022bdb") (: ":") (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4)" (identifier "local_ac") (= "=") (cast_expression "(int *)CONCAT31(local_ac._1_3_,(byte)local_a4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_ac._1_3_,(byte)local_a4)" (identifier "CONCAT31") (argument_list "(local_ac._1_3_,(byte)local_a4)" (( "(") (field_expression "local_ac._1_3_" (identifier "local_ac") (. ".") (field_identifier "_1_3_")) (, ",") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4")) () ")"))))) (; ";"))) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22bea;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22bea" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22bea")) (; ";")) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" (identifier "local_a4") (= "=") (cast_expression "(int *)FUN_0005aa80()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                     "Remote file is newer than local file %s -- retrieving.\n\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Remote file is newer than local file %s -- retrieving.\n\n"" (" """) (string_content "Remote file is newer than local file %s -- retrieving.") (escape_sequence "\n") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c03;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c03" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22c03")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" (* "*") (cast_expression "(int **)(puVar17 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c15;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c15" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22c15")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" (identifier "iVar8") (= "=") (pointer_expression "*local_90" (* "*") (identifier "local_90"))) (; ";")) (expression_statement "local_b5 = (byte)local_ac;" (assignment_expression "local_b5 = (byte)local_ac" (identifier "local_b5") (= "=") (cast_expression "(byte)local_ac" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_ac"))) (; ";")) (expression_statement "bVar14 = (byte)local_ac;" (assignment_expression "bVar14 = (byte)local_ac" (identifier "bVar14") (= "=") (cast_expression "(byte)local_ac" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_ac"))) (; ";")) (goto_statement "goto joined_r0x00022c30;" (goto "goto") (statement_identifier "joined_r0x00022c30") (; ";")) (} "}"))) (labeled_statement "LAB_00022bc8:\n              uVar16 = param_4[8];" (statement_identifier "LAB_00022bc8") (: ":") (expression_statement "uVar16 = param_4[8];" (assignment_expression "uVar16 = param_4[8]" (identifier "uVar16") (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";"))) (if_statement "if (local_38 < iVar8) goto LAB_00022bdb;" (if "if") (parenthesized_expression "(local_38 < iVar8)" (( "(") (binary_expression "local_38 < iVar8" (identifier "local_38") (< "<") (identifier "iVar8")) () ")")) (goto_statement "goto LAB_00022bdb;" (goto "goto") (statement_identifier "LAB_00022bdb") (; ";"))) (expression_statement "*(uint *)(puVar17 + -0x10) = uVar16;" (assignment_expression "*(uint *)(puVar17 + -0x10) = uVar16" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227c9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227c9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x227c9")) (; ";")) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" (identifier "local_a4") (= "=") (cast_expression "(int *)FUN_0005aa80()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) =\n                   "Remote file no newer than local file %s -- not retrieving.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Remote file no newer than local file %s -- not retrieving.\n"" (" """) (string_content "Remote file no newer than local file %s -- not retrieving.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227e2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227e2" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x227e2")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" (* "*") (cast_expression "(int **)(puVar17 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x227f4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x227f4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x227f4")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" (identifier "iVar8") (= "=") (pointer_expression "*local_90" (* "*") (identifier "local_90"))) (; ";")) (if_statement "if (iVar8 == 1) {\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n                bVar14 = 0;\n                goto LAB_0002269e;\n              }" ({ "{") (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" (identifier "bVar14") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0002269e;" (goto "goto") (statement_identifier "LAB_0002269e") (; ";")) (} "}"))) (if_statement "if (iVar8 != 0) {\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                bVar14 = 0;\n                goto joined_r0x00022e2b;\n              }" ({ "{") (expression_statement "bVar14 = 0;" (assignment_expression "bVar14 = 0" (identifier "bVar14") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto joined_r0x00022e2b;" (goto "goto") (statement_identifier "joined_r0x00022e2b") (; ";")) (} "}"))) (labeled_statement "LAB_00022810:\n              puVar19 = puVar17 + -8;" (statement_identifier "LAB_00022810") (: ":") (expression_statement "puVar19 = puVar17 + -8;" (assignment_expression "puVar19 = puVar17 + -8" (identifier "puVar19") (= "=") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8"))) (; ";"))) (labeled_statement "LAB_00022813:\n              *(uint *)(puVar19 + -4) = param_4[8];" (statement_identifier "LAB_00022813") (: ":") (expression_statement "*(uint *)(puVar19 + -4) = param_4[8];" (assignment_expression "*(uint *)(puVar19 + -4) = param_4[8]" (pointer_expression "*(uint *)(puVar19 + -4)" (* "*") (cast_expression "(uint *)(puVar19 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -4)" (( "(") (binary_expression "puVar19 + -4" (identifier "puVar19") (+ "+") (number_literal "-4")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";"))) (expression_statement "*(int **)(puVar19 + -8) = &local_84;" (assignment_expression "*(int **)(puVar19 + -8) = &local_84" (pointer_expression "*(int **)(puVar19 + -8)" (* "*") (cast_expression "(int **)(puVar19 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar19 + -8)" (( "(") (binary_expression "puVar19 + -8" (identifier "puVar19") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "&local_84" (& "&") (identifier "local_84"))) (; ";")) (expression_statement "*(undefined4 *)(puVar19 + -0xc) = 0x2281f;" (assignment_expression "*(undefined4 *)(puVar19 + -0xc) = 0x2281f" (pointer_expression "*(undefined4 *)(puVar19 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar19 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar19 + -0xc)" (( "(") (binary_expression "puVar19 + -0xc" (identifier "puVar19") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x2281f")) (; ";")) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" (identifier "FUN_00043f00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar17 = puVar19 + 8;" (assignment_expression "puVar17 = puVar19 + 8" (identifier "puVar17") (= "=") (binary_expression "puVar19 + 8" (identifier "puVar19") (+ "+") (number_literal "8"))) (; ";")) (goto_statement "goto LAB_00022822;" (goto "goto") (statement_identifier "LAB_00022822") (; ";")) (} "}"))) (labeled_statement "LAB_000229b3:\n            iVar8 = *local_90;" (statement_identifier "LAB_000229b3") (: ":") (expression_statement "iVar8 = *local_90;" (assignment_expression "iVar8 = *local_90" (identifier "iVar8") (= "=") (pointer_expression "*local_90" (* "*") (identifier "local_90"))) (; ";"))) (labeled_statement "joined_r0x00022c30:\n            if (iVar8 == 1) goto LAB_0002269e;" (statement_identifier "joined_r0x00022c30") (: ":") (if_statement "if (iVar8 == 1) goto LAB_0002269e;" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0002269e;" (goto "goto") (statement_identifier "LAB_0002269e") (; ";")))) (if_statement "if (iVar8 != 0) {\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\njoined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;\n              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;\n              if (bVar14 == 0) goto LAB_00022810;\n            }" ({ "{") (labeled_statement "joined_r0x00022e2b:\n              if (iVar8 != 2) goto LAB_000226dd;" (statement_identifier "joined_r0x00022e2b") (: ":") (if_statement "if (iVar8 != 2) goto LAB_000226dd;" (if "if") (parenthesized_expression "(iVar8 != 2)" (( "(") (binary_expression "iVar8 != 2" (identifier "iVar8") (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_000226dd;" (goto "goto") (statement_identifier "LAB_000226dd") (; ";")))) (if_statement "if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x91) == '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x91) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x91)" (* "*") (cast_expression "(char *)((int)local_94 + 0x91)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x91)" (( "(") (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x91")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000229f0;" (goto "goto") (statement_identifier "LAB_000229f0") (; ";"))) (if_statement "if (bVar14 == 0) goto LAB_00022810;" (if "if") (parenthesized_expression "(bVar14 == 0)" (( "(") (binary_expression "bVar14 == 0" (identifier "bVar14") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00022810;" (goto "goto") (statement_identifier "LAB_00022810") (; ";"))) (} "}"))) (} "}")) (else_clause "else {\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" (else "else") (compound_statement "{\n            if (iVar8 == 1) goto LAB_00022699;\nLAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }\n          }" ({ "{") (if_statement "if (iVar8 == 1) goto LAB_00022699;" (if "if") (parenthesized_expression "(iVar8 == 1)" (( "(") (binary_expression "iVar8 == 1" (identifier "iVar8") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_00022699;" (goto "goto") (statement_identifier "LAB_00022699") (; ";"))) (labeled_statement "LAB_000224d0:\n            if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" (statement_identifier "LAB_000224d0") (: ":") (if_statement "if (iVar8 != 0) {\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" (if "if") (parenthesized_expression "(iVar8 != 0)" (( "(") (binary_expression "iVar8 != 0" (identifier "iVar8") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }\n              bVar14 = 1;\n              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;\nLAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);\n              if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }\n              goto LAB_00022729;\n            }" ({ "{") (if_statement "if (iVar8 != 2) {\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }" (if "if") (parenthesized_expression "(iVar8 != 2)" (( "(") (binary_expression "iVar8 != 2" (identifier "iVar8") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                bVar14 = 1;\nLAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);\n                *(int *)(puVar17 + -0x10) = local_90[1];\n                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;\n                piVar6 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar17 + -8) = 5;\n                pcVar7 = "%s: unknown/unsupported file type.\n";\n                local_a4 = piVar6;\n                goto LAB_00022705;\n              }" ({ "{") (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" (identifier "bVar14") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_000226dd:\n                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" (statement_identifier "LAB_000226dd") (: ":") (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14)" (identifier "local_ac") (= "=") (cast_expression "(int *)CONCAT31(local_ac._1_3_,bVar14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_ac._1_3_,bVar14)" (identifier "CONCAT31") (argument_list "(local_ac._1_3_,bVar14)" (( "(") (field_expression "local_ac._1_3_" (identifier "local_ac") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar14") () ")"))))) (; ";"))) (expression_statement "*(int *)(puVar17 + -0x10) = local_90[1];" (assignment_expression "*(int *)(puVar17 + -0x10) = local_90[1]" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "local_90[1]" (identifier "local_90") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x226f4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x226f4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x226f4")) (; ";")) (expression_statement "piVar6 = (int *)FUN_0005aa80();" (assignment_expression "piVar6 = (int *)FUN_0005aa80()" (identifier "piVar6") (= "=") (cast_expression "(int *)FUN_0005aa80()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "pcVar7 = "%s: unknown/unsupported file type.\n";" (assignment_expression "pcVar7 = "%s: unknown/unsupported file type.\n"" (identifier "pcVar7") (= "=") (string_literal ""%s: unknown/unsupported file type.\n"" (" """) (string_content "%s: unknown/unsupported file type.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" (identifier "local_a4") (= "=") (identifier "piVar6")) (; ";")) (goto_statement "goto LAB_00022705;" (goto "goto") (statement_identifier "LAB_00022705") (; ";")) (} "}"))) (expression_statement "bVar14 = 1;" (assignment_expression "bVar14 = 1" (identifier "bVar14") (= "=") (number_literal "1")) (; ";")) (if_statement "if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x91) != '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x91) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x91)" (* "*") (cast_expression "(char *)((int)local_94 + 0x91)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x91)" (( "(") (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x91")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000224f5;" (goto "goto") (statement_identifier "LAB_000224f5") (; ";"))) (labeled_statement "LAB_000229f0:\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" (statement_identifier "LAB_000229f0") (: ":") (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14)" (identifier "local_a4") (= "=") (cast_expression "(int *)CONCAT31(local_a4._1_3_,bVar14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_a4._1_3_,bVar14)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,bVar14)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "bVar14") () ")"))))) (; ";"))) (if_statement "if (local_90[7] == 0) {\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }\n              else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" (if "if") (parenthesized_expression "(local_90[7] == 0)" (( "(") (binary_expression "local_90[7] == 0" (subscript_expression "local_90[7]" (identifier "local_90") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                *(undefined4 *)(puVar17 + -8) = 5;\n                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";\n                *(undefined4 *)(puVar17 + -0x10) = 0;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;\n                uVar11 = dcgettext();\n                *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                *(undefined4 *)(puVar17 + -0x10) = 1;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;\n                FUN_0003ace0();\n                bVar14 = (byte)local_a4;\n              }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Invalid name of the symlink, skipping.\n"" (" """) (string_content "Invalid name of the symlink, skipping.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22cdb;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22cdb" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22cdb")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ce5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ce5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22ce5")) (; ";")) (expression_statement "FUN_0003ace0();" (call_expression "FUN_0003ace0()" (identifier "FUN_0003ace0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" (identifier "bVar14") (= "=") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4"))) (; ";")) (} "}")) (else_clause "else {\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" (else "else") (compound_statement "{\n                *(undefined1 **)(puVar17 + -8) = local_80;\n                *(uint *)(puVar17 + -0xc) = param_4[8];\n                *(undefined4 *)(puVar17 + -0x10) = 3;\n                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;\n                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));\n                piVar6 = (int *)local_90[7];\n                puVar18 = puVar17;\n                uVar15 = (byte)local_a4;\n                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }\n                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);\n                *(int **)(puVar18 + -0x10) = piVar6;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;\n                uVar11 = FUN_0005aa80();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;\n                local_a4 = (int *)FUN_0005aa80();\n                *(undefined4 *)(puVar18 + -8) = 5;\n                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;\n                uVar9 = dcgettext();\n                piVar6 = local_a4;\n                *(undefined4 *)(puVar18 + -0x14) = uVar11;\n                *(int **)(puVar18 + -0x18) = piVar6;\n                *(undefined4 *)(puVar18 + -0x1c) = uVar9;\n                *(undefined4 *)(puVar18 + -0x20) = 0;\n                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;\n                FUN_0003af00();\n                *(uint *)(puVar18 + -0x10) = param_4[8];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;\n                unlink(*(char **)(puVar18 + -0x10));\n                piVar6 = local_90;\n                *(uint *)(puVar18 + -0xc) = param_4[8];\n                *(int *)(puVar18 + -0x10) = piVar6[7];\n                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;\n                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));\n                uVar15 = (byte)local_ac;\n                if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }\n                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);\n                *(char **)(puVar18 + -0xc) = "\n";\n                *(undefined4 *)(puVar18 + -0x10) = 0;\n                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;\n                FUN_0003ace0();\n                puVar17 = puVar18;\n                bVar14 = (byte)local_a4;\n              }" ({ "{") (expression_statement "*(undefined1 **)(puVar17 + -8) = local_80;" (assignment_expression "*(undefined1 **)(puVar17 + -8) = local_80" (pointer_expression "*(undefined1 **)(puVar17 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar17 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_80")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 3;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 3" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22a18;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22a18" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22a18")) (; ";")) (expression_statement "iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8));" (assignment_expression "iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" (identifier "iVar8") (= "=") (call_expression "__lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" (identifier "__lxstat64") (argument_list "(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),\n                                   *(stat64 **)(puVar17 + -8))" (( "(") (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(stat64 **)(puVar17 + -8)" (* "*") (cast_expression "(stat64 **)(puVar17 + -8)" (( "(") (type_descriptor "stat64 **" (type_identifier "stat64") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" (identifier "piVar6") (= "=") (cast_expression "(int *)local_90[7]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_90[7]" (identifier "local_90") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "puVar18 = puVar17;" (assignment_expression "puVar18 = puVar17" (identifier "puVar18") (= "=") (identifier "puVar17")) (; ";")) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" (identifier "uVar15") (= "=") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4"))) (; ";")) (if_statement "if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }" (if "if") (parenthesized_expression "((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000))" (( "(") (binary_expression "(iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)" (parenthesized_expression "(iVar8 == 0)" (( "(") (binary_expression "iVar8 == 0" (identifier "iVar8") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((local_70 & 0xf000) == 0xa000)" (( "(") (binary_expression "(local_70 & 0xf000) == 0xa000" (parenthesized_expression "(local_70 & 0xf000)" (( "(") (binary_expression "local_70 & 0xf000" (identifier "local_70") (& "&") (number_literal "0xf000")) () ")")) (== "==") (number_literal "0xa000")) () ")"))) () ")")) (compound_statement "{\n                  *(int **)(puVar17 + -0x10) = piVar6;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;\n                  sVar12 = strlen(*(char **)(puVar17 + -0x10));\n                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);\n                  puVar18 = puVar17 + iVar8;\n                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;\n                  *(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);\n                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;\n                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                  if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }\n                }" ({ "{") (expression_statement "*(int **)(puVar17 + -0x10) = piVar6;" (assignment_expression "*(int **)(puVar17 + -0x10) = piVar6" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d29;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d29" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22d29")) (; ";")) (expression_statement "sVar12 = strlen(*(char **)(puVar17 + -0x10));" (assignment_expression "sVar12 = strlen(*(char **)(puVar17 + -0x10))" (identifier "sVar12") (= "=") (call_expression "strlen(*(char **)(puVar17 + -0x10))" (identifier "strlen") (argument_list "(*(char **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar8 = -(sVar12 + 0x1c & 0xfffffff0);" (assignment_expression "iVar8 = -(sVar12 + 0x1c & 0xfffffff0)" (identifier "iVar8") (= "=") (unary_expression "-(sVar12 + 0x1c & 0xfffffff0)" (- "-") (parenthesized_expression "(sVar12 + 0x1c & 0xfffffff0)" (( "(") (binary_expression "sVar12 + 0x1c & 0xfffffff0" (binary_expression "sVar12 + 0x1c" (identifier "sVar12") (+ "+") (number_literal "0x1c")) (& "&") (number_literal "0xfffffff0")) () ")")))) (; ";")) (expression_statement "puVar18 = puVar17 + iVar8;" (assignment_expression "puVar18 = puVar17 + iVar8" (identifier "puVar18") (= "=") (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "*(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;" (assignment_expression "*(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1" (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" (* "*") (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -8)" (( "(") (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "sVar12 + 1" (identifier "sVar12") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);" (assignment_expression "*(int **)(puVar17 + iVar8 + -0xc) =\n                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (pointer_expression "*(int **)(puVar17 + iVar8 + -0xc)" (* "*") (cast_expression "(int **)(puVar17 + iVar8 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0xc)" (( "(") (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (cast_expression "(int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (( "(") (binary_expression "(uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0" (call_expression "(uint)(puVar17 + iVar8 + 0xf)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar17 + iVar8 + 0xf)" (( "(") (binary_expression "puVar17 + iVar8 + 0xf" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "0xf")) () ")"))) (& "&") (number_literal "0xfffffff0")) () ")")))) (; ";")) (expression_statement "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + iVar8 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + iVar8 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x10)" (( "(") (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);" (assignment_expression "local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (identifier "local_ac") (= "=") (cast_expression "(int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0)" (( "(") (binary_expression "(uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0" (call_expression "(uint)(puVar17 + iVar8 + 0xf)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar17 + iVar8 + 0xf)" (( "(") (binary_expression "puVar17 + iVar8 + 0xf" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "0xf")) () ")"))) (& "&") (number_literal "0xfffffff0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x14)" (( "(") (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22d53")) (; ";")) (expression_statement "sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));" (assignment_expression "sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" (identifier "sVar13") (= "=") (call_expression "readlink(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" (identifier "readlink") (argument_list "(*(char **)(puVar17 + iVar8 + -0x10),\n                                    *(char **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" (( "(") (pointer_expression "*(char **)(puVar17 + iVar8 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + iVar8 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x10)" (( "(") (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar17 + iVar8 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + iVar8 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0xc)" (( "(") (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" (* "*") (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -8)" (( "(") (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (if_statement "if (sVar12 == sVar13) {\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }\n                  else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" (if "if") (parenthesized_expression "(sVar12 == sVar13)" (( "(") (binary_expression "sVar12 == sVar13" (identifier "sVar12") (== "==") (identifier "sVar13")) () ")")) (compound_statement "{\n                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);\n                    piVar6 = (int *)local_90[7];\n                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;\n                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;\n                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;\n                    local_a4 = piVar6;\n                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;\n                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));\n                    piVar6 = local_a4;\n                    uVar15 = (byte)local_c0;\n                    if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }\n                  }" ({ "{") (expression_statement "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);" (assignment_expression "local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4)" (identifier "local_c0") (= "=") (call_expression "CONCAT31(local_c0._1_3_,(byte)local_a4)" (identifier "CONCAT31") (argument_list "(local_c0._1_3_,(byte)local_a4)" (( "(") (field_expression "local_c0._1_3_" (identifier "local_c0") (. ".") (field_identifier "_1_3_")) (, ",") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4")) () ")")))) (; ";")) (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" (identifier "piVar6") (= "=") (cast_expression "(int *)local_90[7]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_90[7]" (identifier "local_90") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "*(size_t *)(puVar17 + iVar8 + -8) = sVar12;" (assignment_expression "*(size_t *)(puVar17 + iVar8 + -8) = sVar12" (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" (* "*") (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -8)" (( "(") (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "sVar12")) (; ";")) (expression_statement "*(int **)(puVar17 + iVar8 + -0xc) = piVar6;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0xc) = piVar6" (pointer_expression "*(int **)(puVar17 + iVar8 + -0xc)" (* "*") (cast_expression "(int **)(puVar17 + iVar8 + -0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0xc)" (( "(") (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(int **)(puVar17 + iVar8 + -0x10) = local_ac;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x10) = local_ac" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + iVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x10)" (( "(") (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" (identifier "local_a4") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x14)" (( "(") (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22e65")) (; ";")) (expression_statement "iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8));" (assignment_expression "iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" (identifier "iVar10") (= "=") (call_expression "memcmp(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" (identifier "memcmp") (argument_list "(*(void **)(puVar17 + iVar8 + -0x10),\n                                    *(void **)(puVar17 + iVar8 + -0xc),\n                                    *(size_t *)(puVar17 + iVar8 + -8))" (( "(") (pointer_expression "*(void **)(puVar17 + iVar8 + -0x10)" (* "*") (cast_expression "(void **)(puVar17 + iVar8 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x10)" (( "(") (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(void **)(puVar17 + iVar8 + -0xc)" (* "*") (cast_expression "(void **)(puVar17 + iVar8 + -0xc)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0xc)" (( "(") (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar17 + iVar8 + -8)" (* "*") (cast_expression "(size_t *)(puVar17 + iVar8 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -8)" (( "(") (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-8")) () ")")))) () ")")))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "uVar15 = (byte)local_c0;" (assignment_expression "uVar15 = (byte)local_c0" (identifier "uVar15") (= "=") (cast_expression "(byte)local_c0" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_c0"))) (; ";")) (if_statement "if (iVar10 == 0) {\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }" (if "if") (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;\n                      piVar6 = (int *)FUN_0005aa80();\n                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];\n                      local_ac = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;\n                      local_a4 = (int *)FUN_0005aa80();\n                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;\n                      *(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";\n                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;\n                      uVar11 = dcgettext();\n                      piVar6 = local_a4;\n                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;\n                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;\n                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;\n                      FUN_0003af00();\n                      puVar19 = puVar17 + iVar8 + -8;\n                      goto LAB_00022813;\n                    }" ({ "{") (expression_statement "*(int **)(puVar17 + iVar8 + -0x10) = local_a4;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x10) = local_a4" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + iVar8 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x10)" (( "(") (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x14)" (( "(") (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22e86")) (; ";")) (expression_statement "piVar6 = (int *)FUN_0005aa80();" (assignment_expression "piVar6 = (int *)FUN_0005aa80()" (identifier "piVar6") (= "=") (cast_expression "(int *)FUN_0005aa80()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + iVar8 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + iVar8 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + iVar8 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x10)" (( "(") (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" (identifier "local_ac") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x14)" (( "(") (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22e95")) (; ";")) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" (identifier "local_a4") (= "=") (cast_expression "(int *)FUN_0005aa80()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -8)" (( "(") (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n";" (assignment_expression "*(char **)(puVar17 + iVar8 + -0xc) =\n                           "Already have correct symlink %s -> %s\n\n"" (pointer_expression "*(char **)(puVar17 + iVar8 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + iVar8 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0xc)" (( "(") (binary_expression "puVar17 + iVar8 + -0xc" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Already have correct symlink %s -> %s\n\n"" (" """) (string_content "Already have correct symlink %s -> %s") (escape_sequence "\n") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x10)" (( "(") (binary_expression "puVar17 + iVar8 + -0x10" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x14)" (( "(") (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22eae")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(int **)(puVar17 + iVar8 + -0x14) = local_ac;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x14) = local_ac" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x14)" (* "*") (cast_expression "(int **)(puVar17 + iVar8 + -0x14)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x14)" (( "(") (binary_expression "puVar17 + iVar8 + -0x14" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "local_ac")) (; ";")) (expression_statement "*(int **)(puVar17 + iVar8 + -0x18) = piVar6;" (assignment_expression "*(int **)(puVar17 + iVar8 + -0x18) = piVar6" (pointer_expression "*(int **)(puVar17 + iVar8 + -0x18)" (* "*") (cast_expression "(int **)(puVar17 + iVar8 + -0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x18)" (( "(") (binary_expression "puVar17 + iVar8 + -0x18" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x1c)" (( "(") (binary_expression "puVar17 + iVar8 + -0x1c" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x20)" (( "(") (binary_expression "puVar17 + iVar8 + -0x20" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;" (assignment_expression "*(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4" (pointer_expression "*(undefined4 *)(puVar17 + iVar8 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar17 + iVar8 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + iVar8 + -0x24)" (( "(") (binary_expression "puVar17 + iVar8 + -0x24" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x22ec4")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar19 = puVar17 + iVar8 + -8;" (assignment_expression "puVar19 = puVar17 + iVar8 + -8" (identifier "puVar19") (= "=") (binary_expression "puVar17 + iVar8 + -8" (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8")) (+ "+") (number_literal "-8"))) (; ";")) (goto_statement "goto LAB_00022813;" (goto "goto") (statement_identifier "LAB_00022813") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" (else "else") (compound_statement "{\n                    piVar6 = (int *)local_90[7];\n                    puVar18 = puVar17 + iVar8;\n                    uVar15 = (byte)local_a4;\n                  }" ({ "{") (expression_statement "piVar6 = (int *)local_90[7];" (assignment_expression "piVar6 = (int *)local_90[7]" (identifier "piVar6") (= "=") (cast_expression "(int *)local_90[7]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_90[7]" (identifier "local_90") ([ "[") (number_literal "7") (] "]")))) (; ";")) (expression_statement "puVar18 = puVar17 + iVar8;" (assignment_expression "puVar18 = puVar17 + iVar8" (identifier "puVar18") (= "=") (binary_expression "puVar17 + iVar8" (identifier "puVar17") (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" (identifier "uVar15") (= "=") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4"))) (; ";")) (} "}")))) (} "}"))) (expression_statement "local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);" (assignment_expression "local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15)" (identifier "local_ac") (= "=") (cast_expression "(int *)CONCAT31(local_ac._1_3_,uVar15)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_ac._1_3_,uVar15)" (identifier "CONCAT31") (argument_list "(local_ac._1_3_,uVar15)" (( "(") (field_expression "local_ac._1_3_" (identifier "local_ac") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "uVar15") () ")"))))) (; ";")) (expression_statement "*(int **)(puVar18 + -0x10) = piVar6;" (assignment_expression "*(int **)(puVar18 + -0x10) = piVar6" (pointer_expression "*(int **)(puVar18 + -0x10)" (* "*") (cast_expression "(int **)(puVar18 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a51;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a51" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22a51")) (; ";")) (expression_statement "uVar11 = FUN_0005aa80();" (assignment_expression "uVar11 = FUN_0005aa80()" (identifier "uVar11") (= "=") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(uint *)(puVar18 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0x10)" (* "*") (cast_expression "(uint *)(puVar18 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a5c;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a5c" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22a5c")) (; ";")) (expression_statement "local_a4 = (int *)FUN_0005aa80();" (assignment_expression "local_a4 = (int *)FUN_0005aa80()" (identifier "local_a4") (= "=") (cast_expression "(int *)FUN_0005aa80()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0005aa80()" (identifier "FUN_0005aa80") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Creating symlink %s -> %s\n"" (" """) (string_content "Creating symlink %s -> %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a75;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a75" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22a75")) (; ";")) (expression_statement "uVar9 = dcgettext();" (assignment_expression "uVar9 = dcgettext()" (identifier "uVar9") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(int **)(puVar18 + -0x18) = piVar6;" (assignment_expression "*(int **)(puVar18 + -0x18) = piVar6" (pointer_expression "*(int **)(puVar18 + -0x18)" (* "*") (cast_expression "(int **)(puVar18 + -0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x18)" (( "(") (binary_expression "puVar18 + -0x18" (identifier "puVar18") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x1c) = uVar9;" (assignment_expression "*(undefined4 *)(puVar18 + -0x1c) = uVar9" (pointer_expression "*(undefined4 *)(puVar18 + -0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x1c)" (( "(") (binary_expression "puVar18 + -0x1c" (identifier "puVar18") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "uVar9")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x20) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x20) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x20)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x20)" (( "(") (binary_expression "puVar18 + -0x20" (identifier "puVar18") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x24) = 0x22a85;" (assignment_expression "*(undefined4 *)(puVar18 + -0x24) = 0x22a85" (pointer_expression "*(undefined4 *)(puVar18 + -0x24)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x24)" (( "(") (binary_expression "puVar18 + -0x24" (identifier "puVar18") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x22a85")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(uint *)(puVar18 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0x10)" (* "*") (cast_expression "(uint *)(puVar18 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22a90;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22a90" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22a90")) (; ";")) (expression_statement "unlink(*(char **)(puVar18 + -0x10));" (call_expression "unlink(*(char **)(puVar18 + -0x10))" (identifier "unlink") (argument_list "(*(char **)(puVar18 + -0x10))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "piVar6 = local_90;" (assignment_expression "piVar6 = local_90" (identifier "piVar6") (= "=") (identifier "local_90")) (; ";")) (expression_statement "*(uint *)(puVar18 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar18 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar18 + -0xc)" (* "*") (cast_expression "(uint *)(puVar18 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar18 + -0x10) = piVar6[7];" (assignment_expression "*(int *)(puVar18 + -0x10) = piVar6[7]" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "piVar6[7]" (identifier "piVar6") ([ "[") (number_literal "7") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22aa3;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22aa3" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22aa3")) (; ";")) (expression_statement "iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));" (assignment_expression "iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "iVar8") (= "=") (call_expression "symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (identifier "symlink") (argument_list "(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar18 + -0x10)" (* "*") (cast_expression "(char **)(puVar18 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar15 = (byte)local_ac;" (assignment_expression "uVar15 = (byte)local_ac" (identifier "uVar15") (= "=") (cast_expression "(byte)local_ac" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_ac"))) (; ";")) (if_statement "if (iVar8 == -1) {\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }" (if "if") (parenthesized_expression "(iVar8 == -1)" (( "(") (binary_expression "iVar8 == -1" (identifier "iVar8") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);\n                  *(undefined4 *)(puVar18 + -4) = 0x22db3;\n                  piVar6 = __errno_location();\n                  *(int *)(puVar18 + -0x10) = *piVar6;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;\n                  uVar11 = FUN_0006d0d0();\n                  *(undefined4 *)(puVar18 + -8) = uVar11;\n                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";\n                  *(undefined4 *)(puVar18 + -0x10) = 1;\n                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;\n                  FUN_0003af00();\n                  uVar15 = (byte)local_a4;\n                }" ({ "{") (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac)" (identifier "local_a4") (= "=") (cast_expression "(int *)CONCAT31(local_a4._1_3_,(byte)local_ac)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_a4._1_3_,(byte)local_ac)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,(byte)local_ac)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (cast_expression "(byte)local_ac" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_ac")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -4) = 0x22db3;" (assignment_expression "*(undefined4 *)(puVar18 + -4) = 0x22db3" (pointer_expression "*(undefined4 *)(puVar18 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -4)" (( "(") (binary_expression "puVar18 + -4" (identifier "puVar18") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x22db3")) (; ";")) (expression_statement "piVar6 = __errno_location();" (assignment_expression "piVar6 = __errno_location()" (identifier "piVar6") (= "=") (call_expression "__errno_location()" (identifier "__errno_location") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar18 + -0x10) = *piVar6;" (assignment_expression "*(int *)(puVar18 + -0x10) = *piVar6" (pointer_expression "*(int *)(puVar18 + -0x10)" (* "*") (cast_expression "(int *)(puVar18 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*piVar6" (* "*") (identifier "piVar6"))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22dbd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22dbd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22dbd")) (; ";")) (expression_statement "uVar11 = FUN_0006d0d0();" (assignment_expression "uVar11 = FUN_0006d0d0()" (identifier "uVar11") (= "=") (call_expression "FUN_0006d0d0()" (identifier "FUN_0006d0d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -8) = uVar11;" (assignment_expression "*(undefined4 *)(puVar18 + -8) = uVar11" (pointer_expression "*(undefined4 *)(puVar18 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -8)" (( "(") (binary_expression "puVar18 + -8" (identifier "puVar18") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "symlink: %s\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "symlink: %s\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""symlink: %s\n"" (" """) (string_content "symlink: %s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22dcf;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22dcf" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22dcf")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar15 = (byte)local_a4;" (assignment_expression "uVar15 = (byte)local_a4" (identifier "uVar15") (= "=") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4"))) (; ";")) (} "}"))) (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15)" (identifier "local_a4") (= "=") (cast_expression "(int *)CONCAT31(local_a4._1_3_,uVar15)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_a4._1_3_,uVar15)" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,uVar15)" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (identifier "uVar15") () ")"))))) (; ";")) (expression_statement "*(char **)(puVar18 + -0xc) = "\n";" (assignment_expression "*(char **)(puVar18 + -0xc) = "\n"" (pointer_expression "*(char **)(puVar18 + -0xc)" (* "*") (cast_expression "(char **)(puVar18 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar18 + -0xc)" (( "(") (binary_expression "puVar18 + -0xc" (identifier "puVar18") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""\n"" (" """) (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar18 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar18 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x10)" (( "(") (binary_expression "puVar18 + -0x10" (identifier "puVar18") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar18 + -0x14) = 0x22acd;" (assignment_expression "*(undefined4 *)(puVar18 + -0x14) = 0x22acd" (pointer_expression "*(undefined4 *)(puVar18 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar18 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar18 + -0x14)" (( "(") (binary_expression "puVar18 + -0x14" (identifier "puVar18") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22acd")) (; ";")) (expression_statement "FUN_0003ace0();" (call_expression "FUN_0003ace0()" (identifier "FUN_0003ace0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar17 = puVar18;" (assignment_expression "puVar17 = puVar18" (identifier "puVar17") (= "=") (identifier "puVar18")) (; ";")) (expression_statement "bVar14 = (byte)local_a4;" (assignment_expression "bVar14 = (byte)local_a4" (identifier "bVar14") (= "=") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00022729;" (goto "goto") (statement_identifier "LAB_00022729") (; ";")) (} "}")))) (} "}")))) (labeled_statement "LAB_000224f5:\n          *(uint *)(puVar17 + -8) = (uint)local_b5;" (statement_identifier "LAB_000224f5") (: ":") (expression_statement "*(uint *)(puVar17 + -8) = (uint)local_b5;" (assignment_expression "*(uint *)(puVar17 + -8) = (uint)local_b5" (pointer_expression "*(uint *)(puVar17 + -8)" (* "*") (cast_expression "(uint *)(puVar17 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (cast_expression "(uint)local_b5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_b5"))) (; ";"))) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint **)(puVar17 + -0x10) = param_4;" (assignment_expression "*(uint **)(puVar17 + -0x10) = param_4" (pointer_expression "*(uint **)(puVar17 + -0x10)" (* "*") (cast_expression "(uint **)(puVar17 + -0x10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2251a;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2251a" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2251a")) (; ";")) (expression_statement "piVar6 = (int *)FUN_00020e70();" (assignment_expression "piVar6 = (int *)FUN_00020e70()" (identifier "piVar6") (= "=") (cast_expression "(int *)FUN_00020e70()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00020e70()" (identifier "FUN_00020e70") (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "*(uint *)(puVar17 + -0xc) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0xc) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0xc)" (* "*") (cast_expression "(uint *)(puVar17 + -0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" (identifier "local_a4") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(int **)(puVar17 + -0x10) = &local_84;" (assignment_expression "*(int **)(puVar17 + -0x10) = &local_84" (pointer_expression "*(int **)(puVar17 + -0x10)" (* "*") (cast_expression "(int **)(puVar17 + -0x10)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "&local_84" (& "&") (identifier "local_84"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2252e;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2252e" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2252e")) (; ";")) (expression_statement "FUN_00043f00();" (call_expression "FUN_00043f00()" (identifier "FUN_00043f00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (local_84 != 0) {\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }" (if "if") (parenthesized_expression "(local_84 != 0)" (( "(") (binary_expression "local_84 != 0" (identifier "local_84") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00022542:\n            iVar8 = local_84;\n            local_ac = local_90;\n            if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }\n            local_ac = piVar6;\n            piVar6 = local_ac;\n            local_84 = iVar10;\n            if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }\n          }" ({ "{") (labeled_statement "LAB_00022542:\n            iVar8 = local_84;" (statement_identifier "LAB_00022542") (: ":") (expression_statement "iVar8 = local_84;" (assignment_expression "iVar8 = local_84" (identifier "iVar8") (= "=") (identifier "local_84")) (; ";"))) (expression_statement "local_ac = local_90;" (assignment_expression "local_ac = local_90" (identifier "local_ac") (= "=") (identifier "local_90")) (; ";")) (if_statement "if (*local_90 == 0) {\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }\n            else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" (if "if") (parenthesized_expression "(*local_90 == 0)" (( "(") (binary_expression "*local_90 == 0" (pointer_expression "*local_90" (* "*") (identifier "local_90")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));\n              if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }\nLAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);\n              iVar8 = local_90[4];\n              cVar4 = (byte)local_a4;\njoined_r0x00022b2f:\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }\n            }" ({ "{") (expression_statement "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));" (assignment_expression "local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" (identifier "local_a4") (= "=") (cast_expression "(int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" (identifier "CONCAT31") (argument_list "(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9))" (( "(") (field_expression "local_a4._1_3_" (identifier "local_a4") (. ".") (field_identifier "_1_3_")) (, ",") (pointer_expression "*(char *)((int)local_94 + 0x1f9)" (* "*") (cast_expression "(char *)((int)local_94 + 0x1f9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x1f9)" (( "(") (binary_expression "(int)local_94 + 0x1f9" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x1f9")) () ")")))) () ")"))))) (; ";")) (if_statement "if (*(char *)((int)local_94 + 0x1f9) != '\0') {\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x1f9) != '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x1f9) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x1f9)" (* "*") (cast_expression "(char *)((int)local_94 + 0x1f9)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x1f9)" (( "(") (binary_expression "(int)local_94 + 0x1f9" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x1f9")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }\n                piVar6 = local_ac;\n                piVar3 = local_ac;\n                if (local_84 == 0) goto LAB_000225c8;\n                goto LAB_00022839;\n              }" ({ "{") (if_statement "if (local_90[6] == 0) {\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }\n                else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" (if "if") (parenthesized_expression "(local_90[6] == 0)" (( "(") (binary_expression "local_90[6] == 0" (subscript_expression "local_90[6]" (identifier "local_90") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_84;\n                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;\n                  FUN_0003b070();\n                }" ({ "{") (if_statement "if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x15b) == '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x15b) == '\0'" (pointer_expression "*(char *)((int)local_94 + 0x15b)" (* "*") (cast_expression "(char *)((int)local_94 + 0x15b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x15b)" (( "(") (binary_expression "(int)local_94 + 0x15b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x15b")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00022593;" (goto "goto") (statement_identifier "LAB_00022593") (; ";"))) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" (identifier "local_ac") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = local_84;" (assignment_expression "*(int *)(puVar17 + -0xc) = local_84" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_84")) (; ";")) (expression_statement "*(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";" (assignment_expression "*(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n"" (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""Unrecognized permissions for %s.\n"" (" """) (string_content "Unrecognized permissions for %s.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ee2;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ee2" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22ee2")) (; ";")) (expression_statement "FUN_0003b070();" (call_expression "FUN_0003b070()" (identifier "FUN_0003b070") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" (else "else") (compound_statement "{\n                  local_ac = piVar6;\n                  *(int *)(puVar17 + -0xc) = local_90[6];\n                  *(int *)(puVar17 + -0x10) = iVar8;\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;\n                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));\n                  iVar8 = local_84;\n                  if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }\n                }" ({ "{") (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" (identifier "local_ac") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(int *)(puVar17 + -0xc) = local_90[6];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[6]" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_90[6]" (identifier "local_90") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = iVar8;" (assignment_expression "*(int *)(puVar17 + -0x10) = iVar8" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22c50;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22c50" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22c50")) (; ";")) (expression_statement "iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));" (assignment_expression "iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" (identifier "iVar10") (= "=") (call_expression "chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" (identifier "chmod") (argument_list "(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar17 + -0x10)" (* "*") (cast_expression "(char **)(puVar17 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(__mode_t *)(puVar17 + -0xc)" (* "*") (cast_expression "(__mode_t *)(puVar17 + -0xc)" (( "(") (type_descriptor "__mode_t *" (type_identifier "__mode_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "iVar8 = local_84;" (assignment_expression "iVar8 = local_84" (identifier "iVar8") (= "=") (identifier "local_84")) (; ";")) (if_statement "if (iVar10 != 0) {\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n                    *(undefined4 *)(puVar17 + -8) = 5;\n                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";\n                    *(undefined4 *)(puVar17 + -0x10) = 0;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;\n                    uVar11 = dcgettext();\n                    *(int *)(puVar17 + -8) = iVar8;\n                    *(undefined4 *)(puVar17 + -0xc) = uVar11;\n                    *(undefined4 *)(puVar17 + -0x10) = 1;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;\n                    FUN_0003af00();\n                  }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Failed to set permissions for %s.\n"" (" """) (string_content "Failed to set permissions for %s.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d89;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d89" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22d89")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar8;" (assignment_expression "*(int *)(puVar17 + -8) = iVar8" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d95;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d95" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22d95")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" (identifier "piVar6") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";")) (if_statement "if (local_84 == 0) goto LAB_000225c8;" (if "if") (parenthesized_expression "(local_84 == 0)" (( "(") (binary_expression "local_84 == 0" (identifier "local_84") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000225c8;" (goto "goto") (statement_identifier "LAB_000225c8") (; ";"))) (goto_statement "goto LAB_00022839;" (goto "goto") (statement_identifier "LAB_00022839") (; ";")) (} "}"))) (labeled_statement "LAB_00022593:\n              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);" (statement_identifier "LAB_00022593") (: ":") (expression_statement "local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);" (assignment_expression "local_a4._0_1_ = *(char *)((int)local_94 + 0x20d)" (field_expression "local_a4._0_1_" (identifier "local_a4") (. ".") (field_identifier "_0_1_")) (= "=") (pointer_expression "*(char *)((int)local_94 + 0x20d)" (* "*") (cast_expression "(char *)((int)local_94 + 0x20d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x20d)" (( "(") (binary_expression "(int)local_94 + 0x20d" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x20d")) () ")"))))) (; ";"))) (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" (identifier "iVar8") (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "cVar4 = (byte)local_a4;" (assignment_expression "cVar4 = (byte)local_a4" (identifier "cVar4") (= "=") (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4"))) (; ";")) (labeled_statement "joined_r0x00022b2f:\n              piVar3 = local_ac;" (statement_identifier "joined_r0x00022b2f") (: ":") (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" (identifier "iVar10") (= "=") (identifier "local_84")) (; ";")) (if_statement "if (cVar4 != '\0') {\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\nLAB_0002285a:\n                piVar3 = local_ac;\n                iVar10 = local_84;\n                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }\n              }" ({ "{") (labeled_statement "LAB_0002285a:\n                piVar3 = local_ac;" (statement_identifier "LAB_0002285a") (: ":") (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";"))) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" (identifier "iVar10") (= "=") (identifier "local_84")) (; ";")) (if_statement "if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }" (if "if") (parenthesized_expression "((iVar8 != -1) && ((byte)local_a4 != '\0'))" (( "(") (binary_expression "(iVar8 != -1) && ((byte)local_a4 != '\0')" (parenthesized_expression "(iVar8 != -1)" (( "(") (binary_expression "iVar8 != -1" (identifier "iVar8") (!= "!=") (number_literal "-1")) () ")")) (&& "&&") (parenthesized_expression "((byte)local_a4 != '\0')" (( "(") (binary_expression "(byte)local_a4 != '\0'" (cast_expression "(byte)local_a4" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "local_a4")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                  local_a4 = piVar6;\n                  *(undefined4 *)(puVar17 + -0xc) = 0;\n                  *(uint *)(puVar17 + -0x10) = param_4[8];\n                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;\n                  cVar4 = FUN_00049d50();\n                  if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }\n                  iVar8 = local_90[4];\n                  piVar6 = local_a4;\n                  piVar3 = local_ac;\n                  iVar10 = local_84;\n                }" ({ "{") (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" (identifier "local_a4") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22b53;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22b53" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22b53")) (; ";")) (expression_statement "cVar4 = FUN_00049d50();" (assignment_expression "cVar4 = FUN_00049d50()" (identifier "cVar4") (= "=") (call_expression "FUN_00049d50()" (identifier "FUN_00049d50") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (cVar4 != '\0') {\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }" (if "if") (parenthesized_expression "(cVar4 != '\0')" (( "(") (binary_expression "cVar4 != '\0'" (identifier "cVar4") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                    *(int *)(puVar17 + -0xc) = local_90[4];\n                    *(int *)(puVar17 + -0x10) = local_84;\n                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;\n                    FUN_00049bc0();\n                    piVar6 = local_a4;\n                    piVar3 = local_ac;\n                    goto LAB_000225c8;\n                  }" ({ "{") (expression_statement "*(int *)(puVar17 + -0xc) = local_90[4];" (assignment_expression "*(int *)(puVar17 + -0xc) = local_90[4]" (pointer_expression "*(int *)(puVar17 + -0xc)" (* "*") (cast_expression "(int *)(puVar17 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = local_84;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_84" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_84")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22d12;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22d12" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22d12")) (; ";")) (expression_statement "FUN_00049bc0();" (call_expression "FUN_00049bc0()" (identifier "FUN_00049bc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";")) (goto_statement "goto LAB_000225c8;" (goto "goto") (statement_identifier "LAB_000225c8") (; ";")) (} "}"))) (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" (identifier "iVar8") (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" (identifier "iVar10") (= "=") (identifier "local_84")) (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" (else "else") (compound_statement "{\n              local_a4._0_1_ = '\x01';\nLAB_00022839:\n              iVar8 = local_90[4];\n              piVar3 = local_ac;\n              iVar10 = local_84;\n              if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }\n            }" ({ "{") (expression_statement "local_a4._0_1_ = '\x01';" (assignment_expression "local_a4._0_1_ = '\x01'" (field_expression "local_a4._0_1_" (identifier "local_a4") (. ".") (field_identifier "_0_1_")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (labeled_statement "LAB_00022839:\n              iVar8 = local_90[4];" (statement_identifier "LAB_00022839") (: ":") (expression_statement "iVar8 = local_90[4];" (assignment_expression "iVar8 = local_90[4]" (identifier "iVar8") (= "=") (subscript_expression "local_90[4]" (identifier "local_90") ([ "[") (number_literal "4") (] "]"))) (; ";"))) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "iVar10 = local_84;" (assignment_expression "iVar10 = local_84" (identifier "iVar10") (= "=") (identifier "local_84")) (; ";")) (if_statement "if (*(char *)((int)local_94 + 0x20d) != '\0') {\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x20d) != '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x20d) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x20d)" (* "*") (cast_expression "(char *)((int)local_94 + 0x20d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x20d)" (( "(") (binary_expression "(int)local_94 + 0x20d" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x20d")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }\n                goto LAB_0002285a;\n              }" ({ "{") (if_statement "if (*local_90 == 2) {\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }" (if "if") (parenthesized_expression "(*local_90 == 2)" (( "(") (binary_expression "*local_90 == 2" (pointer_expression "*local_90" (* "*") (identifier "local_90")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n                  cVar4 = *(char *)((int)local_94 + 0x91);\n                  goto joined_r0x00022b2f;\n                }" ({ "{") (expression_statement "cVar4 = *(char *)((int)local_94 + 0x91);" (assignment_expression "cVar4 = *(char *)((int)local_94 + 0x91)" (identifier "cVar4") (= "=") (pointer_expression "*(char *)((int)local_94 + 0x91)" (* "*") (cast_expression "(char *)((int)local_94 + 0x91)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x91)" (( "(") (binary_expression "(int)local_94 + 0x91" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x91")) () ")"))))) (; ";")) (goto_statement "goto joined_r0x00022b2f;" (goto "goto") (statement_identifier "joined_r0x00022b2f") (; ";")) (} "}"))) (goto_statement "goto LAB_0002285a;" (goto "goto") (statement_identifier "LAB_0002285a") (; ";")) (} "}"))) (} "}")))) (expression_statement "local_ac = piVar6;" (assignment_expression "local_ac = piVar6" (identifier "local_ac") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" (identifier "piVar6") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "local_84 = iVar10;" (assignment_expression "local_84 = iVar10" (identifier "local_84") (= "=") (identifier "iVar10")) (; ";")) (if_statement "if (iVar8 == -1) {\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }" (if "if") (parenthesized_expression "(iVar8 == -1)" (( "(") (binary_expression "iVar8 == -1" (identifier "iVar8") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n              *(undefined4 *)(puVar17 + -8) = 5;\n              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";\n              *(undefined4 *)(puVar17 + -0x10) = 0;\n              local_a4 = (int *)iVar10;\n              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;\n              uVar11 = dcgettext();\n              *(int **)(puVar17 + -8) = local_a4;\n              *(undefined4 *)(puVar17 + -0xc) = uVar11;\n              *(undefined4 *)(puVar17 + -0x10) = 1;\n              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;\n              FUN_0003af00();\n              piVar6 = local_ac;\n              piVar3 = local_ac;\n            }" ({ "{") (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%s: corrupt time-stamp.\n"" (" """) (string_content "%s: corrupt time-stamp.") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "local_a4 = (int *)iVar10;" (assignment_expression "local_a4 = (int *)iVar10" (identifier "local_a4") (= "=") (cast_expression "(int *)iVar10" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "iVar10"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x2289b;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x2289b" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2289b")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int **)(puVar17 + -8) = local_a4;" (assignment_expression "*(int **)(puVar17 + -8) = local_a4" (pointer_expression "*(int **)(puVar17 + -8)" (* "*") (cast_expression "(int **)(puVar17 + -8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "local_a4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 1;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 1" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x228ad;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x228ad" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x228ad")) (; ";")) (expression_statement "FUN_0003af00();" (call_expression "FUN_0003af00()" (identifier "FUN_0003af00") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar6 = local_ac;" (assignment_expression "piVar6 = local_ac" (identifier "piVar6") (= "=") (identifier "local_ac")) (; ";")) (expression_statement "piVar3 = local_ac;" (assignment_expression "piVar3 = local_ac" (identifier "piVar3") (= "=") (identifier "local_ac")) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_000225c8:\n          local_ac = piVar3;" (statement_identifier "LAB_000225c8") (: ":") (expression_statement "local_ac = piVar3;" (assignment_expression "local_ac = piVar3" (identifier "local_ac") (= "=") (identifier "piVar3")) (; ";"))) (expression_statement "*(uint *)(puVar17 + -0x10) = param_4[8];" (assignment_expression "*(uint *)(puVar17 + -0x10) = param_4[8]" (pointer_expression "*(uint *)(puVar17 + -0x10)" (* "*") (cast_expression "(uint *)(puVar17 + -0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "local_a4 = piVar6;" (assignment_expression "local_a4 = piVar6" (identifier "local_a4") (= "=") (identifier "piVar6")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225d9;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225d9" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x225d9")) (; ";")) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar17 + -0x10)" (* "*") (cast_expression "(void **)(puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar11 = local_a0;" (assignment_expression "uVar11 = local_a0" (identifier "uVar11") (= "=") (identifier "local_a0")) (; ";")) (expression_statement "param_4[8] = local_9c;" (assignment_expression "param_4[8] = local_9c" (subscript_expression "param_4[8]" (identifier "param_4") ([ "[") (number_literal "8") (] "]")) (= "=") (identifier "local_9c")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0xc) = local_a0;" (assignment_expression "*(undefined4 *)(puVar17 + -0xc) = local_a0" (pointer_expression "*(undefined4 *)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "local_a0")) (; ";")) (expression_statement "*(int *)(puVar17 + -0x10) = local_98;" (assignment_expression "*(int *)(puVar17 + -0x10) = local_98" (pointer_expression "*(int *)(puVar17 + -0x10)" (* "*") (cast_expression "(int *)(puVar17 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "local_98")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225f6;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225f6" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x225f6")) (; ";")) (expression_statement "FUN_00046e10();" (call_expression "FUN_00046e10()" (identifier "FUN_00046e10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x225fe;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x225fe" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x225fe")) (; ";")) (expression_statement "free(*(void **)(puVar17 + -0x10));" (call_expression "free(*(void **)(puVar17 + -0x10))" (identifier "free") (argument_list "(*(void **)(puVar17 + -0x10))" (( "(") (pointer_expression "*(void **)(puVar17 + -0x10)" (* "*") (cast_expression "(void **)(puVar17 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (if_statement "if (local_a4 == (int *)0x1) break;" (if "if") (parenthesized_expression "(local_a4 == (int *)0x1)" (( "(") (binary_expression "local_a4 == (int *)0x1" (identifier "local_a4") (== "==") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "uVar16 = (int)local_a4 - 0x15;" (assignment_expression "uVar16 = (int)local_a4 - 0x15" (identifier "uVar16") (= "=") (binary_expression "(int)local_a4 - 0x15" (cast_expression "(int)local_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a4")) (- "-") (number_literal "0x15"))) (; ";")) (if_statement "if (uVar16 < 0x20) {\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }" (if "if") (parenthesized_expression "(uVar16 < 0x20)" (( "(") (binary_expression "uVar16 < 0x20" (identifier "uVar16") (< "<") (number_literal "0x20")) () ")")) (compound_statement "{\nLAB_000227a4:\n            piVar6 = local_a4;\n            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;\n          }" ({ "{") (labeled_statement "LAB_000227a4:\n            piVar6 = local_a4;" (statement_identifier "LAB_000227a4") (: ":") (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";"))) (if_statement "if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;" (if "if") (parenthesized_expression "((0x80400001U >> (uVar16 & 0x1f) & 1) != 0)" (( "(") (binary_expression "(0x80400001U >> (uVar16 & 0x1f) & 1) != 0" (parenthesized_expression "(0x80400001U >> (uVar16 & 0x1f) & 1)" (( "(") (binary_expression "0x80400001U >> (uVar16 & 0x1f) & 1" (binary_expression "0x80400001U >> (uVar16 & 0x1f)" (number_literal "0x80400001U") (>> ">>") (parenthesized_expression "(uVar16 & 0x1f)" (( "(") (binary_expression "uVar16 & 0x1f" (identifier "uVar16") (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}"))) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (if_statement "if ((int)local_a4 - 0x35U < 2) break;" (if "if") (parenthesized_expression "((int)local_a4 - 0x35U < 2)" (( "(") (binary_expression "(int)local_a4 - 0x35U < 2" (binary_expression "(int)local_a4 - 0x35U" (cast_expression "(int)local_a4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_a4")) (- "-") (number_literal "0x35U")) (< "<") (number_literal "2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (} "}")))) (expression_statement "param_4[1] = param_4[1] & 0xfffffffc;" (assignment_expression "param_4[1] = param_4[1] & 0xfffffffc" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_4[1] & 0xfffffffc" (subscript_expression "param_4[1]" (identifier "param_4") ([ "[") (number_literal "1") (] "]")) (& "&") (number_literal "0xfffffffc"))) (; ";")) (expression_statement "local_90 = (int *)local_90[9];" (assignment_expression "local_90 = (int *)local_90[9]" (identifier "local_90") (= "=") (cast_expression "(int *)local_90[9]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "local_90[9]" (identifier "local_90") ([ "[") (number_literal "9") (] "]")))) (; ";")) (expression_statement "piVar6 = local_a4;" (assignment_expression "piVar6 = local_a4" (identifier "piVar6") (= "=") (identifier "local_a4")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(local_90 != (int *)0x0)" (( "(") (binary_expression "local_90 != (int *)0x0" (identifier "local_90") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}")))) (expression_statement "local_90 = piVar6;" (assignment_expression "local_90 = piVar6" (identifier "local_90") (= "=") (identifier "piVar6")) (; ";")) (if_statement "if (*(char *)((int)local_94 + 0x16) != '\0') {\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x16) != '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x16) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x16)" (* "*") (cast_expression "(char *)((int)local_94 + 0x16)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x16)" (( "(") (binary_expression "(int)local_94 + 0x16" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x16")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar8 = local_94[8];\n      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }\n    }" ({ "{") (expression_statement "iVar8 = local_94[8];" (assignment_expression "iVar8 = local_94[8]" (identifier "iVar8") (= "=") (subscript_expression "local_94[8]" (identifier "local_94") ([ "[") (number_literal "8") (] "]"))) (; ";")) (if_statement "if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }\n      else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" (if "if") (parenthesized_expression "((iVar8 == -1) || ((int)DAT_000a3460 < iVar8))" (( "(") (binary_expression "(iVar8 == -1) || ((int)DAT_000a3460 < iVar8)" (parenthesized_expression "(iVar8 == -1)" (( "(") (binary_expression "iVar8 == -1" (identifier "iVar8") (== "==") (number_literal "-1")) () ")")) (|| "||") (parenthesized_expression "((int)DAT_000a3460 < iVar8)" (( "(") (binary_expression "(int)DAT_000a3460 < iVar8" (cast_expression "(int)DAT_000a3460" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000a3460")) (< "<") (identifier "iVar8")) () ")"))) () ")")) (compound_statement "{\n        *(uint **)(puVar17 + -0x10) = param_4;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;\n        local_90 = (int *)FUN_000220d0();\n      }" ({ "{") (expression_statement "*(uint **)(puVar17 + -0x10) = param_4;" (assignment_expression "*(uint **)(puVar17 + -0x10) = param_4" (pointer_expression "*(uint **)(puVar17 + -0x10)" (* "*") (cast_expression "(uint **)(puVar17 + -0x10)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22baf;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22baf" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22baf")) (; ";")) (expression_statement "local_90 = (int *)FUN_000220d0();" (assignment_expression "local_90 = (int *)FUN_000220d0()" (identifier "local_90") (= "=") (cast_expression "(int *)FUN_000220d0()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_000220d0()" (identifier "FUN_000220d0") (argument_list "()" (( "(") () ")"))))) (; ";")) (} "}")) (else_clause "else if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" (else "else") (if_statement "if (*(char *)((int)local_94 + 0x15b) != '\0') {\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" (if "if") (parenthesized_expression "(*(char *)((int)local_94 + 0x15b) != '\0')" (( "(") (binary_expression "*(char *)((int)local_94 + 0x15b) != '\0'" (pointer_expression "*(char *)((int)local_94 + 0x15b)" (* "*") (cast_expression "(char *)((int)local_94 + 0x15b)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_94 + 0x15b)" (( "(") (binary_expression "(int)local_94 + 0x15b" (cast_expression "(int)local_94" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_94")) (+ "+") (number_literal "0x15b")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        local_94 = DAT_000a3460;\n        *(undefined4 *)(puVar17 + -8) = 5;\n        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";\n        *(undefined4 *)(puVar17 + -0x10) = 0;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;\n        uVar11 = dcgettext();\n        puVar1 = local_94;\n        *(int *)(puVar17 + -8) = iVar8;\n        *(undefined4 **)(puVar17 + -0xc) = puVar1;\n        *(undefined4 *)(puVar17 + -0x10) = uVar11;\n        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;\n        FUN_0003b070();\n      }" ({ "{") (expression_statement "local_94 = DAT_000a3460;" (assignment_expression "local_94 = DAT_000a3460" (identifier "local_94") (= "=") (identifier "DAT_000a3460")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -8) = 5;" (assignment_expression "*(undefined4 *)(puVar17 + -8) = 5" (pointer_expression "*(undefined4 *)(puVar17 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "5")) (; ";")) (expression_statement "*(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";" (assignment_expression "*(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n"" (pointer_expression "*(char **)(puVar17 + -0xc)" (* "*") (cast_expression "(char **)(puVar17 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Will not retrieve dirs since depth is %d (max %d).\n"" (" """) (string_content "Will not retrieve dirs since depth is %d (max %d).") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = 0;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = 0" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22ca4;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22ca4" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22ca4")) (; ";")) (expression_statement "uVar11 = dcgettext();" (assignment_expression "uVar11 = dcgettext()" (identifier "uVar11") (= "=") (call_expression "dcgettext()" (identifier "dcgettext") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar1 = local_94;" (assignment_expression "puVar1 = local_94" (identifier "puVar1") (= "=") (identifier "local_94")) (; ";")) (expression_statement "*(int *)(puVar17 + -8) = iVar8;" (assignment_expression "*(int *)(puVar17 + -8) = iVar8" (pointer_expression "*(int *)(puVar17 + -8)" (* "*") (cast_expression "(int *)(puVar17 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -8)" (( "(") (binary_expression "puVar17 + -8" (identifier "puVar17") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (expression_statement "*(undefined4 **)(puVar17 + -0xc) = puVar1;" (assignment_expression "*(undefined4 **)(puVar17 + -0xc) = puVar1" (pointer_expression "*(undefined4 **)(puVar17 + -0xc)" (* "*") (cast_expression "(undefined4 **)(puVar17 + -0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -0xc)" (( "(") (binary_expression "puVar17 + -0xc" (identifier "puVar17") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x10) = uVar11;" (assignment_expression "*(undefined4 *)(puVar17 + -0x10) = uVar11" (pointer_expression "*(undefined4 *)(puVar17 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x10)" (( "(") (binary_expression "puVar17 + -0x10" (identifier "puVar17") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(undefined4 *)(puVar17 + -0x14) = 0x22cb5;" (assignment_expression "*(undefined4 *)(puVar17 + -0x14) = 0x22cb5" (pointer_expression "*(undefined4 *)(puVar17 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar17 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar17 + -0x14)" (( "(") (binary_expression "puVar17 + -0x14" (identifier "puVar17") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x22cb5")) (; ";")) (expression_statement "FUN_0003b070();" (call_expression "FUN_0003b070()" (identifier "FUN_0003b070") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))))) (} "}"))) (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" (identifier "DAT_000a3460") (= "=") (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_000a3460 + -1)" (( "(") (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000a3460")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" (else "else") (compound_statement "{\n    if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }\n    puVar17 = auStack_cc;\n    local_90 = (int *)0x1a;\n  }" ({ "{") (if_statement "if (DAT_000a8b9b != '\0') {\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }" (if "if") (parenthesized_expression "(DAT_000a8b9b != '\0')" (( "(") (binary_expression "DAT_000a8b9b != '\0'" (identifier "DAT_000a8b9b") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      DAT_000a3460 = puVar1;\n      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);\n      FUN_0003b070(uVar11,puVar1,local_90);\n      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);\n    }" ({ "{") (expression_statement "DAT_000a3460 = puVar1;" (assignment_expression "DAT_000a3460 = puVar1" (identifier "DAT_000a3460") (= "=") (identifier "puVar1")) (; ";")) (expression_statement "uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);" (assignment_expression "uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" (identifier "uVar11") (= "=") (call_expression "dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5)" (identifier "dcgettext") (argument_list "(0,"Recursion depth %d exceeded max. depth %d.\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""Recursion depth %d exceeded max. depth %d.\n"" (" """) (string_content "Recursion depth %d exceeded max. depth %d.") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0003b070(uVar11,puVar1,local_90);" (call_expression "FUN_0003b070(uVar11,puVar1,local_90)" (identifier "FUN_0003b070") (argument_list "(uVar11,puVar1,local_90)" (( "(") (identifier "uVar11") (, ",") (identifier "puVar1") (, ",") (identifier "local_90") () ")"))) (; ";")) (expression_statement "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);" (assignment_expression "DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1)" (identifier "DAT_000a3460") (= "=") (cast_expression "(undefined4 *)((int)DAT_000a3460 + -1)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)DAT_000a3460 + -1)" (( "(") (binary_expression "(int)DAT_000a3460 + -1" (cast_expression "(int)DAT_000a3460" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "DAT_000a3460")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (} "}"))) (expression_statement "puVar17 = auStack_cc;" (assignment_expression "puVar17 = auStack_cc" (identifier "puVar17") (= "=") (identifier "auStack_cc")) (; ";")) (expression_statement "local_90 = (int *)0x1a;" (assignment_expression "local_90 = (int *)0x1a" (identifier "local_90") (= "=") (cast_expression "(int *)0x1a" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1a"))) (; ";")) (} "}")))) (labeled_statement "LAB_00022667:\n  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }" (statement_identifier "LAB_00022667") (: ":") (if_statement "if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return local_90;\n  }" (if "if") (parenthesized_expression "(local_20 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "local_20 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return local_90;\n  }" ({ "{") (return_statement "return local_90;" (return "return") (identifier "local_90") (; ";")) (} "}")))) (expression_statement "*(undefined **)(puVar17 + -4) = &UNK_00022f5b;" (assignment_expression "*(undefined **)(puVar17 + -4) = &UNK_00022f5b" (pointer_expression "*(undefined **)(puVar17 + -4)" (* "*") (cast_expression "(undefined **)(puVar17 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar17 + -4)" (( "(") (binary_expression "puVar17 + -4" (identifier "puVar17") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00022f5b" (& "&") (identifier "UNK_00022f5b"))) (; ";")) (expression_statement "FUN_0006da50();" (call_expression "FUN_0006da50()" (identifier "FUN_0006da50") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 __regparm3 function_1(type_2 *u,type_2 *original_url,type_3 *var_5,type_4 *con)

{
  type_3 **ppfVar1;
  int var_51;
  char var_46;
  type_2 *puVar4;
  type_5 bVar5;
  type_2 *puVar6;
  type_6 *poVar7;
  type_3 *pfVar8;
  type_7 _Var9;
  type_8 var_4;
  char *pcVar11;
  type_3 *pfVar12;
  type_9 *var_38;
  int var_2;
  type_10 uVar15;
  size_t var_34;
  size_t var_36;
  int *piVar18;
  int var_7;
  type_9 var_30;
  type_8 var_3;
  type_11 var_13;
  type_9 *var_9;
  type_9 *var_28;
  int var_1;
  type_9 auStack_cc [12];
  type_1 var_25;
  type_3 *local_bc;
  type_5 local_b5;
  type_2 *local_b4;
  type_8 *local_b0;
  type_3 *local_ac;
  int local_a8;
  type_3 *var_49;
  char *local_a0;
  char *local_9c;
  type_2 *local_98;
  type_6 *local_94;
  type_3 *local_90;
  char *var_20;
  type_12 st;
  
  var_38 = auStack_cc;
  var_9 = auStack_cc;
  local_b4 = original_url;
  local_bc = var_5;
  local_98 = u;
  var_51 = *(int *)(var_1 + 0x14);
  var_20 = (char *)0x0;
  local_94 = &opt;
  local_90 = (type_3 *)opt.reclevel;
  var_2 = function_1::var_8 + 1;
  if (opt.reclevel == -1 || var_2 <= opt.reclevel) {
    var_3 = con->st;
    ftp_retrieve_list::var_8 = var_2;
    con->st = var_3 & 0xfffffffe;
    var_4 = con->cmd & 0xfffffffd;
    if ((var_3 & 2) == 0) {
      var_4 = con->cmd | 2;
    }
    var_3 = var_4 & 0xfffffffe | 0x14;
    if (con->csock < 0) {
      var_3 = var_4 | 0x15;
    }
    con->cmd = var_3;
    if (var_5 == (type_3 *)0x0) {
      local_90 = (type_3 *)0x19;
    }
    else {
      local_b5 = 0;
      local_90 = var_5;
      local_b0 = (type_8 *)&total_downloaded_bytes;
      do {
        puVar4 = local_98;
        var_3 = (type_8)local_94->quota;
        var_2 = *(int *)((int)&local_94->quota + 4);
        if ((var_2 != 0 || var_3 != 0) &&
           (var_3 = (type_8)(var_3 < *local_b0), var_7 = var_2 - local_b0[1],
           (var_6(var_2,local_b0[1]) != var_6(var_7,var_3)) != (int)(var_7 - var_3) < 0))
        {
          ftp_retrieve_list::var_8 = function_1::var_8 + -1;
          local_90 = (type_3 *)0x2b;
          goto LAB_00022667;
        }
        pcVar11 = con->target;
        *(char **)(var_9 + -0x10) = local_98->file;
        local_9c = pcVar11;
        *(type_10 *)(var_9 + -0x14) = 0x2247b;
        local_a0 = var_10(*(char **)(var_9 + -0x10));
        *(char **)(var_9 + -0xc) = local_90->name;
        *(type_2 **)(var_9 + -0x10) = puVar4;
        *(type_10 *)(var_9 + -0x14) = 0x22492;
        var_11(*(type_2 **)(var_9 + -0x10),*(char **)(var_9 + -0xc));
        *(type_10 *)(var_9 + -0xc) = 0;
        *(type_2 **)(var_9 + -0x10) = puVar4;
        *(type_10 *)(var_9 + -0x14) = 0x2249c;
        pcVar11 = var_12(*(type_2 **)(var_9 + -0x10),*(char **)(var_9 + -0xc));
        con->target = pcVar11;
        if (local_94->timestamping == false) {
          var_13 = local_90->type;
          if (var_13 != var_14) goto LAB_000224d0;
LAB_00022699:
          var_30 = 1;
LAB_0002269e:
          if (local_94->recursive == false) {
            local_ac = (type_3 *)var_15(local_ac._1_3_,var_30);
            *(char **)(var_9 + -0x10) = local_90->name;
            *(type_10 *)(var_9 + -0x14) = 0x226c1;
            var_49 = (type_3 *)var_16(*(char **)(var_9 + -0x10));
            pcVar11 = "Skipping directory %s.\n";
            *(type_10 *)(var_9 + -8) = 5;
LAB_00022705:
            *(char **)(var_9 + -0xc) = pcVar11;
            *(type_10 *)(var_9 + -0x10) = 0;
            *(type_10 *)(var_9 + -0x14) = 0x2270d;
            uVar15 = var_17();
            *(type_3 **)(var_9 + -8) = var_49;
            *(type_10 *)(var_9 + -0xc) = uVar15;
            *(type_10 *)(var_9 + -0x10) = 1;
            *(type_10 *)(var_9 + -0x14) = 0x2271f;
            var_18(*(type_13 *)(var_9 + -0x10),*(char **)(var_9 + -0xc));
            var_30 = (type_5)local_ac;
          }
LAB_00022729:
          *(char **)(var_9 + -0xc) = con->target;
          *(char ***)(var_9 + -0x10) = &var_20;
          var_49 = (type_3 *)var_15(var_49._1_3_,var_30);
          *(type_10 *)(var_9 + -0x14) = 0x2273e;
          var_19(*(char ***)(var_9 + -0x10),*(char **)(var_9 + -0xc));
          if ((type_5)var_49 != '\0') {
            pfVar12 = (type_3 *)0x19;
            if (var_20 != (char *)0x0) goto LAB_00022542;
            *(char **)(var_9 + -0x10) = con->target;
            var_49 = (type_3 *)0x19;
            *(type_10 *)(var_9 + -0x14) = 0x22771;
            var_21(*(void **)(var_9 + -0x10));
            pcVar11 = local_a0;
            con->target = local_9c;
            *(char **)(var_9 + -0xc) = local_a0;
            *(type_2 **)(var_9 + -0x10) = local_98;
            *(type_10 *)(var_9 + -0x14) = 0x2278e;
            var_11(*(type_2 **)(var_9 + -0x10),*(char **)(var_9 + -0xc));
            *(char **)(var_9 + -0x10) = pcVar11;
            *(type_10 *)(var_9 + -0x14) = 0x22796;
            var_21(*(void **)(var_9 + -0x10));
            var_38 = (type_9 *)0x4;
            goto LAB_000227a4;
          }
LAB_00022822:
          var_49._0_1_ = '\0';
          pfVar12 = (type_3 *)0x19;
          if (var_20 != (char *)0x0) goto LAB_00022839;
          *(char **)(var_9 + -0x10) = con->target;
          var_49 = (type_3 *)0x19;
          *(type_10 *)(var_9 + -0x14) = 0x22af1;
          var_21(*(void **)(var_9 + -0x10));
          pcVar11 = local_a0;
          con->target = local_9c;
          *(char **)(var_9 + -0xc) = local_a0;
          *(type_2 **)(var_9 + -0x10) = local_98;
          *(type_10 *)(var_9 + -0x14) = 0x22b0e;
          var_11(*(type_2 **)(var_9 + -0x10),*(char **)(var_9 + -0xc));
          *(char **)(var_9 + -0x10) = pcVar11;
          *(type_10 *)(var_9 + -0x14) = 0x22b16;
          var_21(*(void **)(var_9 + -0x10));
        }
        else {
          var_13 = local_90->type;
          if (var_13 == var_22) {
            var_49 = (type_3 *)var_15(var_49._1_3_,local_94->timestamping);
            *(type_12 **)(var_9 + -8) = &st;
            *(char **)(var_9 + -0xc) = pcVar11;
            *(type_10 *)(var_9 + -0x10) = 3;
            *(type_10 *)(var_9 + -0x14) = 0x228e5;
            var_2 = var_23(*(int *)(var_9 + -0x10),*(char **)(var_9 + -0xc),
                               *(type_14 **)(var_9 + -8));
            bVar5 = (type_5)var_49;
            var_30 = (type_5)var_49;
            if (var_2 == 0) {
              var_49 = (type_3 *)local_90->tstamp;
              if ((con->rs & ~ST_WINNT) == var_24) {
                local_ac = (type_3 *)st.st_size;
                local_a8 = st.st_size._4_4_;
                var_25 = (type_8)(type_3 *)st.st_size ^ (type_1)local_90->size;
                if (st.st_size._4_4_ == *(int *)((int)&local_90->size + 4) && var_25 == var_26
                   ) goto LAB_00022bc8;
                if ((int)var_49 <= st.st_mtim.tv_sec) {
                  *(int *)(var_9 + -0xc) = st.st_size._4_4_;
                  *(type_3 **)(var_9 + -0x10) = local_ac;
                  var_25 = var_15(var_25._1_3_,bVar5);
                  *(type_10 *)(var_9 + -0x14) = 0x2297e;
                  var_49 = (type_3 *)var_27(*(type_15 *)(var_9 + -0x10));
                  *(type_10 *)(var_9 + -8) = 5;
                  *(char **)(var_9 + -0xc) =
                       "The sizes do not match (local %s) -- retrieving.\n\n";
                  *(type_10 *)(var_9 + -0x10) = 0;
                  *(type_10 *)(var_9 + -0x14) = 0x22997;
                  uVar15 = var_17();
                  *(type_3 **)(var_9 + -8) = var_49;
                  *(type_10 *)(var_9 + -0xc) = uVar15;
                  *(type_10 *)(var_9 + -0x10) = 0;
                  *(type_10 *)(var_9 + -0x14) = 0x229a9;
                  var_18(*(type_13 *)(var_9 + -0x10),*(char **)(var_9 + -0xc));
                  var_30 = (type_9)var_25;
                  goto LAB_000229b3;
                }
                pcVar11 = con->target;
LAB_00022bdb:
                local_ac = (type_3 *)var_15(local_ac._1_3_,bVar5);
                *(char **)(var_9 + -0x10) = pcVar11;
                *(type_10 *)(var_9 + -0x14) = 0x22bea;
                var_49 = (type_3 *)var_16(*(char **)(var_9 + -0x10));
                *(type_10 *)(var_9 + -8) = 5;
                *(char **)(var_9 + -0xc) =
                     "Remote file is newer than local file %s -- retrieving.\n\n";
                *(type_10 *)(var_9 + -0x10) = 0;
                *(type_10 *)(var_9 + -0x14) = 0x22c03;
                uVar15 = var_17();
                *(type_3 **)(var_9 + -8) = var_49;
                *(type_10 *)(var_9 + -0xc) = uVar15;
                *(type_10 *)(var_9 + -0x10) = 0;
                *(type_10 *)(var_9 + -0x14) = 0x22c15;
                var_18(*(type_13 *)(var_9 + -0x10),*(char **)(var_9 + -0xc));
                var_13 = local_90->type;
                local_b5 = (type_5)local_ac;
                var_30 = (type_5)local_ac;
                goto joined_r0x00022c30;
              }
LAB_00022bc8:
              pcVar11 = con->target;
              if (st.st_mtim.tv_sec < (int)var_49) goto LAB_00022bdb;
              *(char **)(var_9 + -0x10) = pcVar11;
              *(type_10 *)(var_9 + -0x14) = 0x227c9;
              var_49 = (type_3 *)var_16(*(char **)(var_9 + -0x10));
              *(type_10 *)(var_9 + -8) = 5;
              *(char **)(var_9 + -0xc) =
                   "Remote file no newer than local file %s -- not retrieving.\n";
              *(type_10 *)(var_9 + -0x10) = 0;
              *(type_10 *)(var_9 + -0x14) = 0x227e2;
              uVar15 = var_17();
              *(type_3 **)(var_9 + -8) = var_49;
              *(type_10 *)(var_9 + -0xc) = uVar15;
              *(type_10 *)(var_9 + -0x10) = 0;
              *(type_10 *)(var_9 + -0x14) = 0x227f4;
              var_18(*(type_13 *)(var_9 + -0x10),*(char **)(var_9 + -0xc));
              var_13 = local_90->type;
              if (var_13 == var_14) {
                var_30 = 0;
                goto LAB_0002269e;
              }
              if (var_13 != var_22) {
                var_30 = 0;
                goto joined_r0x00022e2b;
              }
LAB_00022810:
              var_28 = var_9 + -8;
LAB_00022813:
              *(char **)(var_28 + -4) = con->target;
              *(char ***)(var_28 + -8) = &var_20;
              *(type_10 *)(var_28 + -0xc) = 0x2281f;
              var_19(*(char ***)(var_28 + -8),*(char **)(var_28 + -4));
              var_9 = var_28 + 8;
              goto LAB_00022822;
            }
LAB_000229b3:
            var_13 = local_90->type;
joined_r0x00022c30:
            if (var_13 == var_14) goto LAB_0002269e;
            if (var_13 != var_22) {
joined_r0x00022e2b:
              if (var_13 != var_29) goto LAB_000226dd;
              if (local_94->retr_symlinks == false) goto LAB_000229f0;
              if (var_30 == 0) goto LAB_00022810;
            }
          }
          else {
            if (var_13 == var_14) goto LAB_00022699;
LAB_000224d0:
            if (var_13 != var_22) {
              if (var_13 != var_29) {
                var_30 = 1;
LAB_000226dd:
                local_ac = (type_3 *)var_15(local_ac._1_3_,var_30);
                *(char **)(var_9 + -0x10) = local_90->name;
                *(type_10 *)(var_9 + -0x14) = 0x226f4;
                pfVar12 = (type_3 *)var_16(*(char **)(var_9 + -0x10));
                *(type_10 *)(var_9 + -8) = 5;
                pcVar11 = "%s: unknown/unsupported file type.\n";
                var_49 = pfVar12;
                goto LAB_00022705;
              }
              var_30 = 1;
              if (local_94->retr_symlinks != false) goto LAB_000224f5;
LAB_000229f0:
              var_49 = (type_3 *)var_15(var_49._1_3_,var_30);
              if (local_90->linkto == (char *)0x0) {
                *(type_10 *)(var_9 + -8) = 5;
                *(char **)(var_9 + -0xc) = "Invalid name of the symlink, skipping.\n";
                *(type_10 *)(var_9 + -0x10) = 0;
                *(type_10 *)(var_9 + -0x14) = 0x22cdb;
                uVar15 = var_17();
                *(type_10 *)(var_9 + -0xc) = uVar15;
                *(type_10 *)(var_9 + -0x10) = 1;
                *(type_10 *)(var_9 + -0x14) = 0x22ce5;
                var_31(*(type_13 *)(var_9 + -0x10),*(char **)(var_9 + -0xc));
                var_30 = (type_5)var_49;
              }
              else {
                *(type_12 **)(var_9 + -8) = &st;
                *(char **)(var_9 + -0xc) = con->target;
                *(type_10 *)(var_9 + -0x10) = 3;
                *(type_10 *)(var_9 + -0x14) = 0x22a18;
                var_2 = var_32(*(int *)(var_9 + -0x10),*(char **)(var_9 + -0xc),
                                    *(type_14 **)(var_9 + -8));
                pfVar12 = (type_3 *)local_90->linkto;
                var_38 = var_9;
                var_30 = (type_5)var_49;
                if ((var_2 == 0) && ((st.st_mode & 0xf000) == 0xa000)) {
                  *(type_3 **)(var_9 + -0x10) = pfVar12;
                  *(type_10 *)(var_9 + -0x14) = 0x22d29;
                  var_34 = var_33(*(char **)(var_9 + -0x10));
                  var_2 = -(var_34 + 0x1c & 0xfffffff0);
                  var_38 = var_9 + var_2;
                  *(size_t *)(var_9 + var_2 + -8) = var_34 + 1;
                  *(type_3 **)(var_9 + var_2 + -0xc) =
                       (type_3 *)((type_8)(var_9 + var_2 + 0xf) & ~FTPSRVERR);
                  *(char **)(var_9 + var_2 + -0x10) = con->target;
                  local_ac = (type_3 *)((type_8)(var_9 + var_2 + 0xf) & ~FTPSRVERR);
                  *(type_10 *)(var_9 + var_2 + -0x14) = 0x22d53;
                  var_36 = var_35(*(char **)(var_9 + var_2 + -0x10),
                                    *(char **)(var_9 + var_2 + -0xc),
                                    *(size_t *)(var_9 + var_2 + -8));
                  if (var_34 == var_36) {
                    var_25 = var_15(var_25._1_3_,(type_5)var_49);
                    pfVar12 = (type_3 *)local_90->linkto;
                    *(size_t *)(var_9 + var_2 + -8) = var_34;
                    *(type_3 **)(var_9 + var_2 + -0xc) = pfVar12;
                    *(type_3 **)(var_9 + var_2 + -0x10) = local_ac;
                    var_49 = pfVar12;
                    *(type_10 *)(var_9 + var_2 + -0x14) = 0x22e65;
                    var_7 = var_37(*(void **)(var_9 + var_2 + -0x10),
                                    *(void **)(var_9 + var_2 + -0xc),
                                    *(size_t *)(var_9 + var_2 + -8));
                    pfVar12 = var_49;
                    var_30 = (type_9)var_25;
                    if (var_7 == 0) {
                      *(type_3 **)(var_9 + var_2 + -0x10) = var_49;
                      *(type_10 *)(var_9 + var_2 + -0x14) = 0x22e86;
                      pfVar12 = (type_3 *)var_16(*(char **)(var_9 + var_2 + -0x10));
                      *(char **)(var_9 + var_2 + -0x10) = con->target;
                      local_ac = pfVar12;
                      *(type_10 *)(var_9 + var_2 + -0x14) = 0x22e95;
                      var_49 = (type_3 *)var_16(*(char **)(var_9 + var_2 + -0x10));
                      *(type_10 *)(var_9 + var_2 + -8) = 5;
                      *(char **)(var_9 + var_2 + -0xc) =
                           "Already have correct symlink %s -> %s\n\n";
                      *(type_10 *)(var_9 + var_2 + -0x10) = 0;
                      *(type_10 *)(var_9 + var_2 + -0x14) = 0x22eae;
                      uVar15 = var_17();
                      pfVar12 = var_49;
                      *(type_3 **)(var_9 + var_2 + -0x14) = local_ac;
                      *(type_3 **)(var_9 + var_2 + -0x18) = pfVar12;
                      *(type_10 *)(var_9 + var_2 + -0x1c) = uVar15;
                      *(type_10 *)(var_9 + var_2 + -0x20) = 0;
                      *(type_10 *)(var_9 + var_2 + -0x24) = 0x22ec4;
                      var_18(*(type_13 *)(var_9 + var_2 + -0x20),
                                *(char **)(var_9 + var_2 + -0x1c));
                      var_28 = var_9 + var_2 + -8;
                      goto LAB_00022813;
                    }
                  }
                  else {
                    pfVar12 = (type_3 *)local_90->linkto;
                    var_38 = var_9 + var_2;
                    var_30 = (type_5)var_49;
                  }
                }
                local_ac = (type_3 *)var_15(local_ac._1_3_,var_30);
                *(type_3 **)(var_38 + -0x10) = pfVar12;
                *(type_10 *)(var_38 + -0x14) = 0x22a51;
                pcVar11 = var_16(*(char **)(var_38 + -0x10));
                *(char **)(var_38 + -0x10) = con->target;
                *(type_10 *)(var_38 + -0x14) = 0x22a5c;
                var_49 = (type_3 *)var_16(*(char **)(var_38 + -0x10));
                *(type_10 *)(var_38 + -8) = 5;
                *(char **)(var_38 + -0xc) = "Creating symlink %s -> %s\n";
                *(type_10 *)(var_38 + -0x10) = 0;
                *(type_10 *)(var_38 + -0x14) = 0x22a75;
                uVar15 = var_17();
                pfVar12 = var_49;
                *(char **)(var_38 + -0x14) = pcVar11;
                *(type_3 **)(var_38 + -0x18) = pfVar12;
                *(type_10 *)(var_38 + -0x1c) = uVar15;
                *(type_10 *)(var_38 + -0x20) = 0;
                *(type_10 *)(var_38 + -0x24) = 0x22a85;
                var_18(*(type_13 *)(var_38 + -0x20),*(char **)(var_38 + -0x1c));
                *(char **)(var_38 + -0x10) = con->target;
                *(type_10 *)(var_38 + -0x14) = 0x22a90;
                var_39(*(char **)(var_38 + -0x10));
                pfVar12 = local_90;
                *(char **)(var_38 + -0xc) = con->target;
                *(char **)(var_38 + -0x10) = pfVar12->linkto;
                *(type_10 *)(var_38 + -0x14) = 0x22aa3;
                var_2 = var_40(*(char **)(var_38 + -0x10),*(char **)(var_38 + -0xc));
                var_30 = (type_5)local_ac;
                if (var_2 == -1) {
                  var_49 = (type_3 *)var_15(var_49._1_3_,(type_5)local_ac);
                  *(type_10 *)(var_38 + -4) = 0x22db3;
                  piVar18 = var_41();
                  *(int *)(var_38 + -0x10) = *piVar18;
                  *(type_10 *)(var_38 + -0x14) = 0x22dbd;
                  pcVar11 = var_42(*(int *)(var_38 + -0x10));
                  *(char **)(var_38 + -8) = pcVar11;
                  *(char **)(var_38 + -0xc) = "symlink: %s\n";
                  *(type_10 *)(var_38 + -0x10) = 1;
                  *(type_10 *)(var_38 + -0x14) = 0x22dcf;
                  var_18(*(type_13 *)(var_38 + -0x10),*(char **)(var_38 + -0xc));
                  var_30 = (type_5)var_49;
                }
                var_49 = (type_3 *)var_15(var_49._1_3_,var_30);
                *(char **)(var_38 + -0xc) = "\n";
                *(type_10 *)(var_38 + -0x10) = 0;
                *(type_10 *)(var_38 + -0x14) = 0x22acd;
                var_31(*(type_13 *)(var_38 + -0x10),*(char **)(var_38 + -0xc));
                var_9 = var_38;
                var_30 = (type_5)var_49;
              }
              goto LAB_00022729;
            }
          }
LAB_000224f5:
          pfVar12 = local_90;
          puVar4 = local_b4;
          *(type_8 *)(var_9 + -8) = (type_8)local_b5;
          puVar6 = local_98;
          *(type_10 *)(var_9 + -0xc) = 0;
          *(type_4 **)(var_9 + -0x10) = con;
          *(type_10 *)(var_9 + -0x14) = 0x2251a;
          pfVar12 = (type_3 *)
                    var_43(puVar6,puVar4,pfVar12,*(type_4 **)(var_9 + -0x10),
                                      *(char ***)(var_9 + -0xc),(type_7)var_9[-8]);
          *(char **)(var_9 + -0xc) = con->target;
          var_49 = pfVar12;
          *(char ***)(var_9 + -0x10) = &var_20;
          *(type_10 *)(var_9 + -0x14) = 0x2252e;
          var_19(*(char ***)(var_9 + -0x10),*(char **)(var_9 + -0xc));
          pfVar12 = var_49;
          pfVar8 = local_ac;
          if (var_20 != (char *)0x0) {
LAB_00022542:
            pcVar11 = var_20;
            local_ac = local_90;
            if (local_90->type == var_22) {
              var_49 = (type_3 *)var_15(var_49._1_3_,local_94->preserve_perm);
              if (local_94->preserve_perm != false) {
                if (local_90->perms == 0) {
                  if (local_94->debug == false) goto LAB_00022593;
                  local_ac = pfVar12;
                  *(char **)(var_9 + -0xc) = var_20;
                  *(char **)(var_9 + -0x10) = "Unrecognized permissions for %s.\n";
                  *(type_10 *)(var_9 + -0x14) = 0x22ee2;
                  var_44(*(char **)(var_9 + -0x10));
                }
                else {
                  local_ac = pfVar12;
                  *(int *)(var_9 + -0xc) = local_90->perms;
                  *(char **)(var_9 + -0x10) = pcVar11;
                  *(type_10 *)(var_9 + -0x14) = 0x22c50;
                  var_2 = var_45(*(char **)(var_9 + -0x10),*(type_16 *)(var_9 + -0xc));
                  pcVar11 = var_20;
                  if (var_2 != 0) {
                    *(type_10 *)(var_9 + -8) = 5;
                    *(char **)(var_9 + -0xc) = "Failed to set permissions for %s.\n";
                    *(type_10 *)(var_9 + -0x10) = 0;
                    *(type_10 *)(var_9 + -0x14) = 0x22d89;
                    uVar15 = var_17();
                    *(char **)(var_9 + -8) = pcVar11;
                    *(type_10 *)(var_9 + -0xc) = uVar15;
                    *(type_10 *)(var_9 + -0x10) = 1;
                    *(type_10 *)(var_9 + -0x14) = 0x22d95;
                    var_18(*(type_13 *)(var_9 + -0x10),*(char **)(var_9 + -0xc));
                  }
                }
                pfVar12 = local_ac;
                pfVar8 = local_ac;
                if (var_20 == (char *)0x0) goto LAB_000225c8;
                goto LAB_00022839;
              }
LAB_00022593:
              var_49._0_1_ = local_94->useservertimestamps;
              var_2 = local_90->tstamp;
              var_46 = (type_5)var_49;
joined_r0x00022b2f:
              pfVar8 = local_ac;
              pcVar11 = var_20;
              if (var_46 != '\0') {
LAB_0002285a:
                pfVar8 = local_ac;
                pcVar11 = var_20;
                if ((var_2 != -1) && ((type_5)var_49 != '\0')) {
                  var_49 = pfVar12;
                  *(type_10 *)(var_9 + -0xc) = 0;
                  *(char **)(var_9 + -0x10) = con->target;
                  *(type_10 *)(var_9 + -0x14) = 0x22b53;
                  _Var9 = var_47(*(char **)(var_9 + -0x10),
                                        *(type_17 **)(var_9 + -0xc));
                  if (_Var9) {
                    *(long *)(var_9 + -0xc) = local_90->tstamp;
                    *(char **)(var_9 + -0x10) = var_20;
                    *(type_10 *)(var_9 + -0x14) = 0x22d12;
                    var_48(*(char **)(var_9 + -0x10),*(type_18 *)(var_9 + -0xc));
                    pfVar12 = var_49;
                    pfVar8 = local_ac;
                    goto LAB_000225c8;
                  }
                  var_2 = local_90->tstamp;
                  pfVar12 = var_49;
                  pfVar8 = local_ac;
                  pcVar11 = var_20;
                }
              }
            }
            else {
              var_49._0_1_ = '\x01';
LAB_00022839:
              var_2 = local_90->tstamp;
              pfVar8 = local_ac;
              pcVar11 = var_20;
              if (local_94->useservertimestamps != false) {
                if (local_90->type == var_29) {
                  var_46 = local_94->retr_symlinks;
                  goto joined_r0x00022b2f;
                }
                goto LAB_0002285a;
              }
            }
            local_ac = pfVar12;
            pfVar12 = local_ac;
            var_20 = pcVar11;
            if (var_2 == -1) {
              *(type_10 *)(var_9 + -8) = 5;
              *(char **)(var_9 + -0xc) = "%s: corrupt time-stamp.\n";
              *(type_10 *)(var_9 + -0x10) = 0;
              var_49 = (type_3 *)pcVar11;
              *(type_10 *)(var_9 + -0x14) = 0x2289b;
              uVar15 = var_17();
              *(type_3 **)(var_9 + -8) = var_49;
              *(type_10 *)(var_9 + -0xc) = uVar15;
              *(type_10 *)(var_9 + -0x10) = 1;
              *(type_10 *)(var_9 + -0x14) = 0x228ad;
              var_18(*(type_13 *)(var_9 + -0x10),*(char **)(var_9 + -0xc));
              pfVar12 = local_ac;
              pfVar8 = local_ac;
            }
          }
LAB_000225c8:
          local_ac = pfVar8;
          *(char **)(var_9 + -0x10) = con->target;
          var_49 = pfVar12;
          *(type_10 *)(var_9 + -0x14) = 0x225d9;
          var_21(*(void **)(var_9 + -0x10));
          pcVar11 = local_a0;
          con->target = local_9c;
          *(char **)(var_9 + -0xc) = local_a0;
          *(type_2 **)(var_9 + -0x10) = local_98;
          *(type_10 *)(var_9 + -0x14) = 0x225f6;
          var_11(*(type_2 **)(var_9 + -0x10),*(char **)(var_9 + -0xc));
          *(char **)(var_9 + -0x10) = pcVar11;
          *(type_10 *)(var_9 + -0x14) = 0x225fe;
          var_21(*(void **)(var_9 + -0x10));
          if (var_49 == (type_3 *)0x1) break;
          var_38 = (type_9 *)((int)&var_49[-1].tstamp + 3);
          if (var_38 < (type_9 *)0x20) {
LAB_000227a4:
            if ((0x80400001U >> ((type_8)var_38 & 0x1f) & 1) != 0) break;
          }
          if ((type_9 *)((int)&var_49[-2].perms + 3U) < (type_9 *)0x2) break;
        }
        con->cmd = con->cmd & 0xfffffffc;
        ppfVar1 = &local_90->next;
        local_90 = *ppfVar1;
      } while (*ppfVar1 != (type_3 *)0x0);
      local_90 = var_49;
      var_38 = var_9;
    }
    puVar4 = local_b4;
    pfVar12 = local_bc;
    if (local_94->recursive != false) {
      var_2 = local_94->reclevel;
      if ((var_2 == -1) || (function_1::var_8 < var_2)) {
        *(type_4 **)(var_38 + -0x10) = con;
        puVar6 = local_98;
        *(type_10 *)(var_38 + -0x14) = 0x22baf;
        local_90 = (type_3 *)var_50(puVar6,puVar4,pfVar12,*(type_4 **)(var_38 + -0x10));
      }
      else if (local_94->debug != false) {
        local_94 = (type_6 *)function_1::var_8;
        *(type_10 *)(var_38 + -8) = 5;
        *(char **)(var_38 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";
        *(type_10 *)(var_38 + -0x10) = 0;
        *(type_10 *)(var_38 + -0x14) = 0x22ca4;
        uVar15 = var_17();
        poVar7 = local_94;
        *(int *)(var_38 + -8) = var_2;
        *(type_6 **)(var_38 + -0xc) = poVar7;
        *(type_10 *)(var_38 + -0x10) = uVar15;
        *(type_10 *)(var_38 + -0x14) = 0x22cb5;
        var_44(*(char **)(var_38 + -0x10));
      }
    }
    ftp_retrieve_list::var_8 = function_1::var_8 + -1;
    var_9 = var_38;
  }
  else {
    if (opt.debug) {
      ftp_retrieve_list::var_8 = var_2;
      pcVar11 = (char *)var_17(0,"Recursion depth %d exceeded max. depth %d.\n",5);
      var_44(pcVar11,var_2,local_90);
      ftp_retrieve_list::var_8 = function_1::var_8 + -1;
    }
    var_9 = auStack_cc;
    local_90 = (type_3 *)0x1a;
  }
LAB_00022667:
  if (var_51 == *(int *)(var_1 + 0x14)) {
    return (type_1)local_90;
  }
                    /* WARNING: Subroutine does not return */
  *(type_19 **)(var_9 + -4) = &UNK_00022f5b;
  var_52();
}


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

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

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

{
  undefined4 *puVar1;
  int iVar2;
  int *piVar3;
  char cVar4;
  uint uVar5;
  int *piVar6;
  char *pcVar7;
  int iVar8;
  undefined4 uVar9;
  int iVar10;
  undefined4 uVar11;
  size_t sVar12;
  size_t sVar13;
  byte bVar14;
  undefined1 uVar15;
  uint uVar16;
  undefined1 *puVar17;
  undefined1 *puVar18;
  undefined1 *puVar19;
  int in_GS_OFFSET;
  undefined1 auStack_cc [12];
  uint local_c0;
  int *local_bc;
  byte local_b5;
  undefined4 local_b4;
  uint *local_b0;
  int *local_ac;
  int local_a8;
  int *local_a4;
  undefined4 local_a0;
  uint local_9c;
  int local_98;
  undefined4 *local_94;
  int *local_90;
  int local_84;
  undefined1 local_80 [16];
  uint local_70;
  int *local_54;
  int local_50;
  int local_38;
  int local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2236b;
  puVar17 = auStack_cc;
  local_94 = &DAT_000a8a40;
  local_20 = *(int *)(in_GS_OFFSET + 0x14);
  local_84 = 0;
  local_90 = (int *)DAT_000a8a60;
  puVar1 = (undefined4 *)((int)DAT_000a3460 + 1);
  local_bc = param_3;
  local_b4 = param_2;
  local_98 = param_1;
  if (DAT_000a8a60 == -1 || (int)puVar1 <= DAT_000a8a60) {
    uVar16 = *param_4;
    DAT_000a3460 = puVar1;
    *param_4 = uVar16 & 0xfffffffe;
    uVar5 = param_4[1] & 0xfffffffd;
    if ((uVar16 & 2) == 0) {
      uVar5 = param_4[1] | 2;
    }
    uVar16 = uVar5 & 0xfffffffe | 0x14;
    if ((int)param_4[2] < 0) {
      uVar16 = uVar5 | 0x15;
    }
    param_4[1] = uVar16;
    if (param_3 == (int *)0x0) {
      local_90 = (int *)0x19;
      puVar17 = auStack_cc;
      piVar6 = local_90;
    }
    else {
      local_b0 = &DAT_000a8c80;
      local_b5 = 0;
      local_90 = param_3;
      do {
        iVar10 = local_98;
        iVar8 = local_94[0x55];
        if ((iVar8 != 0 || local_94[0x54] != 0) &&
           (uVar16 = (uint)((uint)local_94[0x54] < *local_b0), iVar2 = iVar8 - local_b0[1],
           (SBORROW4(iVar8,local_b0[1]) != SBORROW4(iVar2,uVar16)) != (int)(iVar2 - uVar16) < 0)) {
          DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);
          local_90 = (int *)0x2b;
          goto LAB_00022667;
        }
        uVar16 = param_4[8];
        *(undefined4 *)(puVar17 + -0x10) = *(undefined4 *)(local_98 + 0x24);
        local_9c = uVar16;
        *(undefined4 *)(puVar17 + -0x14) = 0x2247b;
        local_a0 = FUN_0005af70();
        *(int *)(puVar17 + -0xc) = local_90[1];
        *(int *)(puVar17 + -0x10) = iVar10;
        *(undefined4 *)(puVar17 + -0x14) = 0x22492;
        FUN_00046e10();
        *(undefined4 *)(puVar17 + -0xc) = 0;
        *(int *)(puVar17 + -0x10) = iVar10;
        *(undefined4 *)(puVar17 + -0x14) = 0x2249c;
        uVar16 = FUN_00045130();
        param_4[8] = uVar16;
        if (*(char *)(local_94 + 0x57) == '\0') {
          iVar8 = *local_90;
          if (iVar8 != 1) goto LAB_000224d0;
LAB_00022699:
          bVar14 = 1;
LAB_0002269e:
          if (*(char *)((int)local_94 + 0x16) == '\0') {
            local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);
            *(int *)(puVar17 + -0x10) = local_90[1];
            *(undefined4 *)(puVar17 + -0x14) = 0x226c1;
            local_a4 = (int *)FUN_0005aa80();
            pcVar7 = "Skipping directory %s.\n";
            *(undefined4 *)(puVar17 + -8) = 5;
LAB_00022705:
            *(char **)(puVar17 + -0xc) = pcVar7;
            *(undefined4 *)(puVar17 + -0x10) = 0;
            *(undefined4 *)(puVar17 + -0x14) = 0x2270d;
            uVar11 = dcgettext();
            *(int **)(puVar17 + -8) = local_a4;
            *(undefined4 *)(puVar17 + -0xc) = uVar11;
            *(undefined4 *)(puVar17 + -0x10) = 1;
            *(undefined4 *)(puVar17 + -0x14) = 0x2271f;
            FUN_0003af00();
            bVar14 = (byte)local_ac;
          }
LAB_00022729:
          *(uint *)(puVar17 + -0xc) = param_4[8];
          *(int **)(puVar17 + -0x10) = &local_84;
          local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);
          *(undefined4 *)(puVar17 + -0x14) = 0x2273e;
          FUN_00043f00();
          if ((byte)local_a4 != '\0') {
            piVar6 = (int *)0x19;
            if (local_84 != 0) goto LAB_00022542;
            *(uint *)(puVar17 + -0x10) = param_4[8];
            local_a4 = (int *)0x19;
            *(undefined4 *)(puVar17 + -0x14) = 0x22771;
            free(*(void **)(puVar17 + -0x10));
            uVar11 = local_a0;
            param_4[8] = local_9c;
            *(undefined4 *)(puVar17 + -0xc) = local_a0;
            *(int *)(puVar17 + -0x10) = local_98;
            *(undefined4 *)(puVar17 + -0x14) = 0x2278e;
            FUN_00046e10();
            *(undefined4 *)(puVar17 + -0x10) = uVar11;
            *(undefined4 *)(puVar17 + -0x14) = 0x22796;
            free(*(void **)(puVar17 + -0x10));
            uVar16 = 4;
            goto LAB_000227a4;
          }
LAB_00022822:
          local_a4._0_1_ = '\0';
          piVar6 = (int *)0x19;
          if (local_84 != 0) goto LAB_00022839;
          *(uint *)(puVar17 + -0x10) = param_4[8];
          local_a4 = (int *)0x19;
          *(undefined4 *)(puVar17 + -0x14) = 0x22af1;
          free(*(void **)(puVar17 + -0x10));
          uVar11 = local_a0;
          param_4[8] = local_9c;
          *(undefined4 *)(puVar17 + -0xc) = local_a0;
          *(int *)(puVar17 + -0x10) = local_98;
          *(undefined4 *)(puVar17 + -0x14) = 0x22b0e;
          FUN_00046e10();
          *(undefined4 *)(puVar17 + -0x10) = uVar11;
          *(undefined4 *)(puVar17 + -0x14) = 0x22b16;
          free(*(void **)(puVar17 + -0x10));
        }
        else {
          iVar8 = *local_90;
          if (iVar8 == 0) {
            local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)(local_94 + 0x57));
            *(undefined1 **)(puVar17 + -8) = local_80;
            *(uint *)(puVar17 + -0xc) = uVar16;
            *(undefined4 *)(puVar17 + -0x10) = 3;
            *(undefined4 *)(puVar17 + -0x14) = 0x228e5;
            iVar8 = __xstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),
                              *(stat64 **)(puVar17 + -8));
            bVar14 = (byte)local_a4;
            if (iVar8 == 0) {
              iVar8 = local_90[4];
              local_a4 = (int *)iVar8;
              if ((param_4[5] & 0xfffffffd) == 0) {
                local_ac = local_54;
                local_a8 = local_50;
                local_c0 = (uint)local_54 ^ local_90[2];
                if (local_50 == local_90[3] && local_c0 == 0) goto LAB_00022bc8;
                if (iVar8 <= local_38) {
                  *(int *)(puVar17 + -0xc) = local_50;
                  *(int **)(puVar17 + -0x10) = local_ac;
                  local_c0 = CONCAT31(local_c0._1_3_,bVar14);
                  *(undefined4 *)(puVar17 + -0x14) = 0x2297e;
                  local_a4 = (int *)FUN_0004d760();
                  *(undefined4 *)(puVar17 + -8) = 5;
                  *(char **)(puVar17 + -0xc) =
                       "The sizes do not match (local %s) -- retrieving.\n\n";
                  *(undefined4 *)(puVar17 + -0x10) = 0;
                  *(undefined4 *)(puVar17 + -0x14) = 0x22997;
                  uVar11 = dcgettext();
                  *(int **)(puVar17 + -8) = local_a4;
                  *(undefined4 *)(puVar17 + -0xc) = uVar11;
                  *(undefined4 *)(puVar17 + -0x10) = 0;
                  *(undefined4 *)(puVar17 + -0x14) = 0x229a9;
                  FUN_0003af00();
                  bVar14 = (byte)local_c0;
                  goto LAB_000229b3;
                }
                uVar16 = param_4[8];
LAB_00022bdb:
                local_ac = (int *)CONCAT31(local_ac._1_3_,(byte)local_a4);
                *(uint *)(puVar17 + -0x10) = uVar16;
                *(undefined4 *)(puVar17 + -0x14) = 0x22bea;
                local_a4 = (int *)FUN_0005aa80();
                *(undefined4 *)(puVar17 + -8) = 5;
                *(char **)(puVar17 + -0xc) =
                     "Remote file is newer than local file %s -- retrieving.\n\n";
                *(undefined4 *)(puVar17 + -0x10) = 0;
                *(undefined4 *)(puVar17 + -0x14) = 0x22c03;
                uVar11 = dcgettext();
                *(int **)(puVar17 + -8) = local_a4;
                *(undefined4 *)(puVar17 + -0xc) = uVar11;
                *(undefined4 *)(puVar17 + -0x10) = 0;
                *(undefined4 *)(puVar17 + -0x14) = 0x22c15;
                FUN_0003af00();
                iVar8 = *local_90;
                local_b5 = (byte)local_ac;
                bVar14 = (byte)local_ac;
                goto joined_r0x00022c30;
              }
LAB_00022bc8:
              uVar16 = param_4[8];
              if (local_38 < iVar8) goto LAB_00022bdb;
              *(uint *)(puVar17 + -0x10) = uVar16;
              *(undefined4 *)(puVar17 + -0x14) = 0x227c9;
              local_a4 = (int *)FUN_0005aa80();
              *(undefined4 *)(puVar17 + -8) = 5;
              *(char **)(puVar17 + -0xc) =
                   "Remote file no newer than local file %s -- not retrieving.\n";
              *(undefined4 *)(puVar17 + -0x10) = 0;
              *(undefined4 *)(puVar17 + -0x14) = 0x227e2;
              uVar11 = dcgettext();
              *(int **)(puVar17 + -8) = local_a4;
              *(undefined4 *)(puVar17 + -0xc) = uVar11;
              *(undefined4 *)(puVar17 + -0x10) = 0;
              *(undefined4 *)(puVar17 + -0x14) = 0x227f4;
              FUN_0003af00();
              iVar8 = *local_90;
              if (iVar8 == 1) {
                bVar14 = 0;
                goto LAB_0002269e;
              }
              if (iVar8 != 0) {
                bVar14 = 0;
                goto joined_r0x00022e2b;
              }
LAB_00022810:
              puVar19 = puVar17 + -8;
LAB_00022813:
              *(uint *)(puVar19 + -4) = param_4[8];
              *(int **)(puVar19 + -8) = &local_84;
              *(undefined4 *)(puVar19 + -0xc) = 0x2281f;
              FUN_00043f00();
              puVar17 = puVar19 + 8;
              goto LAB_00022822;
            }
LAB_000229b3:
            iVar8 = *local_90;
joined_r0x00022c30:
            if (iVar8 == 1) goto LAB_0002269e;
            if (iVar8 != 0) {
joined_r0x00022e2b:
              if (iVar8 != 2) goto LAB_000226dd;
              if (*(char *)((int)local_94 + 0x91) == '\0') goto LAB_000229f0;
              if (bVar14 == 0) goto LAB_00022810;
            }
          }
          else {
            if (iVar8 == 1) goto LAB_00022699;
LAB_000224d0:
            if (iVar8 != 0) {
              if (iVar8 != 2) {
                bVar14 = 1;
LAB_000226dd:
                local_ac = (int *)CONCAT31(local_ac._1_3_,bVar14);
                *(int *)(puVar17 + -0x10) = local_90[1];
                *(undefined4 *)(puVar17 + -0x14) = 0x226f4;
                piVar6 = (int *)FUN_0005aa80();
                *(undefined4 *)(puVar17 + -8) = 5;
                pcVar7 = "%s: unknown/unsupported file type.\n";
                local_a4 = piVar6;
                goto LAB_00022705;
              }
              bVar14 = 1;
              if (*(char *)((int)local_94 + 0x91) != '\0') goto LAB_000224f5;
LAB_000229f0:
              local_a4 = (int *)CONCAT31(local_a4._1_3_,bVar14);
              if (local_90[7] == 0) {
                *(undefined4 *)(puVar17 + -8) = 5;
                *(char **)(puVar17 + -0xc) = "Invalid name of the symlink, skipping.\n";
                *(undefined4 *)(puVar17 + -0x10) = 0;
                *(undefined4 *)(puVar17 + -0x14) = 0x22cdb;
                uVar11 = dcgettext();
                *(undefined4 *)(puVar17 + -0xc) = uVar11;
                *(undefined4 *)(puVar17 + -0x10) = 1;
                *(undefined4 *)(puVar17 + -0x14) = 0x22ce5;
                FUN_0003ace0();
                bVar14 = (byte)local_a4;
              }
              else {
                *(undefined1 **)(puVar17 + -8) = local_80;
                *(uint *)(puVar17 + -0xc) = param_4[8];
                *(undefined4 *)(puVar17 + -0x10) = 3;
                *(undefined4 *)(puVar17 + -0x14) = 0x22a18;
                iVar8 = __lxstat64(*(int *)(puVar17 + -0x10),*(char **)(puVar17 + -0xc),
                                   *(stat64 **)(puVar17 + -8));
                piVar6 = (int *)local_90[7];
                puVar18 = puVar17;
                uVar15 = (byte)local_a4;
                if ((iVar8 == 0) && ((local_70 & 0xf000) == 0xa000)) {
                  *(int **)(puVar17 + -0x10) = piVar6;
                  *(undefined4 *)(puVar17 + -0x14) = 0x22d29;
                  sVar12 = strlen(*(char **)(puVar17 + -0x10));
                  iVar8 = -(sVar12 + 0x1c & 0xfffffff0);
                  puVar18 = puVar17 + iVar8;
                  *(size_t *)(puVar17 + iVar8 + -8) = sVar12 + 1;
                  *(int **)(puVar17 + iVar8 + -0xc) =
                       (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);
                  *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];
                  local_ac = (int *)((uint)(puVar17 + iVar8 + 0xf) & 0xfffffff0);
                  *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22d53;
                  sVar13 = readlink(*(char **)(puVar17 + iVar8 + -0x10),
                                    *(char **)(puVar17 + iVar8 + -0xc),
                                    *(size_t *)(puVar17 + iVar8 + -8));
                  if (sVar12 == sVar13) {
                    local_c0 = CONCAT31(local_c0._1_3_,(byte)local_a4);
                    piVar6 = (int *)local_90[7];
                    *(size_t *)(puVar17 + iVar8 + -8) = sVar12;
                    *(int **)(puVar17 + iVar8 + -0xc) = piVar6;
                    *(int **)(puVar17 + iVar8 + -0x10) = local_ac;
                    local_a4 = piVar6;
                    *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e65;
                    iVar10 = memcmp(*(void **)(puVar17 + iVar8 + -0x10),
                                    *(void **)(puVar17 + iVar8 + -0xc),
                                    *(size_t *)(puVar17 + iVar8 + -8));
                    piVar6 = local_a4;
                    uVar15 = (byte)local_c0;
                    if (iVar10 == 0) {
                      *(int **)(puVar17 + iVar8 + -0x10) = local_a4;
                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e86;
                      piVar6 = (int *)FUN_0005aa80();
                      *(uint *)(puVar17 + iVar8 + -0x10) = param_4[8];
                      local_ac = piVar6;
                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22e95;
                      local_a4 = (int *)FUN_0005aa80();
                      *(undefined4 *)(puVar17 + iVar8 + -8) = 5;
                      *(char **)(puVar17 + iVar8 + -0xc) =
                           "Already have correct symlink %s -> %s\n\n";
                      *(undefined4 *)(puVar17 + iVar8 + -0x10) = 0;
                      *(undefined4 *)(puVar17 + iVar8 + -0x14) = 0x22eae;
                      uVar11 = dcgettext();
                      piVar6 = local_a4;
                      *(int **)(puVar17 + iVar8 + -0x14) = local_ac;
                      *(int **)(puVar17 + iVar8 + -0x18) = piVar6;
                      *(undefined4 *)(puVar17 + iVar8 + -0x1c) = uVar11;
                      *(undefined4 *)(puVar17 + iVar8 + -0x20) = 0;
                      *(undefined4 *)(puVar17 + iVar8 + -0x24) = 0x22ec4;
                      FUN_0003af00();
                      puVar19 = puVar17 + iVar8 + -8;
                      goto LAB_00022813;
                    }
                  }
                  else {
                    piVar6 = (int *)local_90[7];
                    puVar18 = puVar17 + iVar8;
                    uVar15 = (byte)local_a4;
                  }
                }
                local_ac = (int *)CONCAT31(local_ac._1_3_,uVar15);
                *(int **)(puVar18 + -0x10) = piVar6;
                *(undefined4 *)(puVar18 + -0x14) = 0x22a51;
                uVar11 = FUN_0005aa80();
                *(uint *)(puVar18 + -0x10) = param_4[8];
                *(undefined4 *)(puVar18 + -0x14) = 0x22a5c;
                local_a4 = (int *)FUN_0005aa80();
                *(undefined4 *)(puVar18 + -8) = 5;
                *(char **)(puVar18 + -0xc) = "Creating symlink %s -> %s\n";
                *(undefined4 *)(puVar18 + -0x10) = 0;
                *(undefined4 *)(puVar18 + -0x14) = 0x22a75;
                uVar9 = dcgettext();
                piVar6 = local_a4;
                *(undefined4 *)(puVar18 + -0x14) = uVar11;
                *(int **)(puVar18 + -0x18) = piVar6;
                *(undefined4 *)(puVar18 + -0x1c) = uVar9;
                *(undefined4 *)(puVar18 + -0x20) = 0;
                *(undefined4 *)(puVar18 + -0x24) = 0x22a85;
                FUN_0003af00();
                *(uint *)(puVar18 + -0x10) = param_4[8];
                *(undefined4 *)(puVar18 + -0x14) = 0x22a90;
                unlink(*(char **)(puVar18 + -0x10));
                piVar6 = local_90;
                *(uint *)(puVar18 + -0xc) = param_4[8];
                *(int *)(puVar18 + -0x10) = piVar6[7];
                *(undefined4 *)(puVar18 + -0x14) = 0x22aa3;
                iVar8 = symlink(*(char **)(puVar18 + -0x10),*(char **)(puVar18 + -0xc));
                uVar15 = (byte)local_ac;
                if (iVar8 == -1) {
                  local_a4 = (int *)CONCAT31(local_a4._1_3_,(byte)local_ac);
                  *(undefined4 *)(puVar18 + -4) = 0x22db3;
                  piVar6 = __errno_location();
                  *(int *)(puVar18 + -0x10) = *piVar6;
                  *(undefined4 *)(puVar18 + -0x14) = 0x22dbd;
                  uVar11 = FUN_0006d0d0();
                  *(undefined4 *)(puVar18 + -8) = uVar11;
                  *(char **)(puVar18 + -0xc) = "symlink: %s\n";
                  *(undefined4 *)(puVar18 + -0x10) = 1;
                  *(undefined4 *)(puVar18 + -0x14) = 0x22dcf;
                  FUN_0003af00();
                  uVar15 = (byte)local_a4;
                }
                local_a4 = (int *)CONCAT31(local_a4._1_3_,uVar15);
                *(char **)(puVar18 + -0xc) = "\n";
                *(undefined4 *)(puVar18 + -0x10) = 0;
                *(undefined4 *)(puVar18 + -0x14) = 0x22acd;
                FUN_0003ace0();
                puVar17 = puVar18;
                bVar14 = (byte)local_a4;
              }
              goto LAB_00022729;
            }
          }
LAB_000224f5:
          *(uint *)(puVar17 + -8) = (uint)local_b5;
          *(undefined4 *)(puVar17 + -0xc) = 0;
          *(uint **)(puVar17 + -0x10) = param_4;
          *(undefined4 *)(puVar17 + -0x14) = 0x2251a;
          piVar6 = (int *)FUN_00020e70();
          *(uint *)(puVar17 + -0xc) = param_4[8];
          local_a4 = piVar6;
          *(int **)(puVar17 + -0x10) = &local_84;
          *(undefined4 *)(puVar17 + -0x14) = 0x2252e;
          FUN_00043f00();
          piVar6 = local_a4;
          piVar3 = local_ac;
          if (local_84 != 0) {
LAB_00022542:
            iVar8 = local_84;
            local_ac = local_90;
            if (*local_90 == 0) {
              local_a4 = (int *)CONCAT31(local_a4._1_3_,*(char *)((int)local_94 + 0x1f9));
              if (*(char *)((int)local_94 + 0x1f9) != '\0') {
                if (local_90[6] == 0) {
                  if (*(char *)((int)local_94 + 0x15b) == '\0') goto LAB_00022593;
                  local_ac = piVar6;
                  *(int *)(puVar17 + -0xc) = local_84;
                  *(char **)(puVar17 + -0x10) = "Unrecognized permissions for %s.\n";
                  *(undefined4 *)(puVar17 + -0x14) = 0x22ee2;
                  FUN_0003b070();
                }
                else {
                  local_ac = piVar6;
                  *(int *)(puVar17 + -0xc) = local_90[6];
                  *(int *)(puVar17 + -0x10) = iVar8;
                  *(undefined4 *)(puVar17 + -0x14) = 0x22c50;
                  iVar10 = chmod(*(char **)(puVar17 + -0x10),*(__mode_t *)(puVar17 + -0xc));
                  iVar8 = local_84;
                  if (iVar10 != 0) {
                    *(undefined4 *)(puVar17 + -8) = 5;
                    *(char **)(puVar17 + -0xc) = "Failed to set permissions for %s.\n";
                    *(undefined4 *)(puVar17 + -0x10) = 0;
                    *(undefined4 *)(puVar17 + -0x14) = 0x22d89;
                    uVar11 = dcgettext();
                    *(int *)(puVar17 + -8) = iVar8;
                    *(undefined4 *)(puVar17 + -0xc) = uVar11;
                    *(undefined4 *)(puVar17 + -0x10) = 1;
                    *(undefined4 *)(puVar17 + -0x14) = 0x22d95;
                    FUN_0003af00();
                  }
                }
                piVar6 = local_ac;
                piVar3 = local_ac;
                if (local_84 == 0) goto LAB_000225c8;
                goto LAB_00022839;
              }
LAB_00022593:
              local_a4._0_1_ = *(char *)((int)local_94 + 0x20d);
              iVar8 = local_90[4];
              cVar4 = (byte)local_a4;
joined_r0x00022b2f:
              piVar3 = local_ac;
              iVar10 = local_84;
              if (cVar4 != '\0') {
LAB_0002285a:
                piVar3 = local_ac;
                iVar10 = local_84;
                if ((iVar8 != -1) && ((byte)local_a4 != '\0')) {
                  local_a4 = piVar6;
                  *(undefined4 *)(puVar17 + -0xc) = 0;
                  *(uint *)(puVar17 + -0x10) = param_4[8];
                  *(undefined4 *)(puVar17 + -0x14) = 0x22b53;
                  cVar4 = FUN_00049d50();
                  if (cVar4 != '\0') {
                    *(int *)(puVar17 + -0xc) = local_90[4];
                    *(int *)(puVar17 + -0x10) = local_84;
                    *(undefined4 *)(puVar17 + -0x14) = 0x22d12;
                    FUN_00049bc0();
                    piVar6 = local_a4;
                    piVar3 = local_ac;
                    goto LAB_000225c8;
                  }
                  iVar8 = local_90[4];
                  piVar6 = local_a4;
                  piVar3 = local_ac;
                  iVar10 = local_84;
                }
              }
            }
            else {
              local_a4._0_1_ = '\x01';
LAB_00022839:
              iVar8 = local_90[4];
              piVar3 = local_ac;
              iVar10 = local_84;
              if (*(char *)((int)local_94 + 0x20d) != '\0') {
                if (*local_90 == 2) {
                  cVar4 = *(char *)((int)local_94 + 0x91);
                  goto joined_r0x00022b2f;
                }
                goto LAB_0002285a;
              }
            }
            local_ac = piVar6;
            piVar6 = local_ac;
            local_84 = iVar10;
            if (iVar8 == -1) {
              *(undefined4 *)(puVar17 + -8) = 5;
              *(char **)(puVar17 + -0xc) = "%s: corrupt time-stamp.\n";
              *(undefined4 *)(puVar17 + -0x10) = 0;
              local_a4 = (int *)iVar10;
              *(undefined4 *)(puVar17 + -0x14) = 0x2289b;
              uVar11 = dcgettext();
              *(int **)(puVar17 + -8) = local_a4;
              *(undefined4 *)(puVar17 + -0xc) = uVar11;
              *(undefined4 *)(puVar17 + -0x10) = 1;
              *(undefined4 *)(puVar17 + -0x14) = 0x228ad;
              FUN_0003af00();
              piVar6 = local_ac;
              piVar3 = local_ac;
            }
          }
LAB_000225c8:
          local_ac = piVar3;
          *(uint *)(puVar17 + -0x10) = param_4[8];
          local_a4 = piVar6;
          *(undefined4 *)(puVar17 + -0x14) = 0x225d9;
          free(*(void **)(puVar17 + -0x10));
          uVar11 = local_a0;
          param_4[8] = local_9c;
          *(undefined4 *)(puVar17 + -0xc) = local_a0;
          *(int *)(puVar17 + -0x10) = local_98;
          *(undefined4 *)(puVar17 + -0x14) = 0x225f6;
          FUN_00046e10();
          *(undefined4 *)(puVar17 + -0x10) = uVar11;
          *(undefined4 *)(puVar17 + -0x14) = 0x225fe;
          free(*(void **)(puVar17 + -0x10));
          piVar6 = local_a4;
          if (local_a4 == (int *)0x1) break;
          uVar16 = (int)local_a4 - 0x15;
          if (uVar16 < 0x20) {
LAB_000227a4:
            piVar6 = local_a4;
            if ((0x80400001U >> (uVar16 & 0x1f) & 1) != 0) break;
          }
          piVar6 = local_a4;
          if ((int)local_a4 - 0x35U < 2) break;
        }
        param_4[1] = param_4[1] & 0xfffffffc;
        local_90 = (int *)local_90[9];
        piVar6 = local_a4;
      } while (local_90 != (int *)0x0);
    }
    local_90 = piVar6;
    if (*(char *)((int)local_94 + 0x16) != '\0') {
      iVar8 = local_94[8];
      if ((iVar8 == -1) || ((int)DAT_000a3460 < iVar8)) {
        *(uint **)(puVar17 + -0x10) = param_4;
        *(undefined4 *)(puVar17 + -0x14) = 0x22baf;
        local_90 = (int *)FUN_000220d0();
      }
      else if (*(char *)((int)local_94 + 0x15b) != '\0') {
        local_94 = DAT_000a3460;
        *(undefined4 *)(puVar17 + -8) = 5;
        *(char **)(puVar17 + -0xc) = "Will not retrieve dirs since depth is %d (max %d).\n";
        *(undefined4 *)(puVar17 + -0x10) = 0;
        *(undefined4 *)(puVar17 + -0x14) = 0x22ca4;
        uVar11 = dcgettext();
        puVar1 = local_94;
        *(int *)(puVar17 + -8) = iVar8;
        *(undefined4 **)(puVar17 + -0xc) = puVar1;
        *(undefined4 *)(puVar17 + -0x10) = uVar11;
        *(undefined4 *)(puVar17 + -0x14) = 0x22cb5;
        FUN_0003b070();
      }
    }
    DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);
  }
  else {
    if (DAT_000a8b9b != '\0') {
      DAT_000a3460 = puVar1;
      uVar11 = dcgettext(0,"Recursion depth %d exceeded max. depth %d.\n",5);
      FUN_0003b070(uVar11,puVar1,local_90);
      DAT_000a3460 = (undefined4 *)((int)DAT_000a3460 + -1);
    }
    puVar17 = auStack_cc;
    local_90 = (int *)0x1a;
  }
LAB_00022667:
  if (local_20 == *(int *)(in_GS_OFFSET + 0x14)) {
    return local_90;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined **)(puVar17 + -4) = &UNK_00022f5b;
  FUN_0006da50();
}

