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

void __regparm3 sink(char *targ,char *src)

{
  int iVar1;
  uint64 x;
  uint64 x_00;
  uint64 size;
  uint64 y;
  uint64 y_00;
  uint64 done;
  uint64 x_01;
  uint64 x_02;
  uint64 x_03;
  uint64 x_04;
  uint64 x_05;
  uint64 x_06;
  uint64 x_07;
  uint64 y_01;
  uint64 y_02;
  uint64 y_03;
  bool bVar2;
  undefined *puVar3;
  ulong uVar4;
  ulong uVar5;
  ulong uVar6;
  int iVar7;
  char *pcVar8;
  size_t sVar9;
  char *__s2;
  uint uVar10;
  WFile *f;
  ulong uVar11;
  ulong uVar12;
  ulong uVar13;
  time_t tVar14;
  int in_GS_OFFSET;
  ulong local_80a0;
  char *local_808c;
  int local_8080;
  ulong local_807c;
  ulong local_8078;
  ulong local_806c;
  ulong local_8054;
  ulong local_8050;
  scp_sink_action act;
  char transbuf [32768];
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  iVar7 = file_type(targ);
  local_8080 = 1;
  if ((iVar7 != 2) && (local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0)) {
    bump("%s: Not a directory",targ);
    local_8080 = 0;
  }
  if (using_sftp == 0) {
    scp_sink_init();
  }
  puVar3 = PTR_stderr_000a8fa4;
  bVar2 = false;
LAB_00023788:
  do {
    iVar7 = scp_get_sink_action(&act);
    if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;
  } while (act.action == 4);
  if (local_8080 == 0) {
    local_808c = dupstr(targ);
  }
  else {
    pcVar8 = stripslashes(act.name,1);
    if (act.name != pcVar8) {
      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);
      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);
    }
    sVar9 = strspn(pcVar8,".");
    if (pcVar8[sVar9] == '\0') {
      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");
    }
    if (src != (char *)0x0) {
      __s2 = stripslashes(src,1);
      iVar7 = strcmp(pcVar8,__s2);
      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {
        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",
                  pcVar8);
        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);
        tell_user(*(FILE **)puVar3,
                  "         If this is a wildcard, consider upgrading to SSH-2 or using");
        tell_user(*(FILE **)puVar3,
                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");
        pcVar8 = __s2;
      }
    }
    if (*targ == '\0') {
      local_808c = dupstr(pcVar8);
    }
    else {
      local_808c = dir_file_cat(targ,pcVar8);
    }
  }
  uVar10 = file_type(local_808c);
  if (act.action == 2) {
    if ((uVar10 & 0xfffffffd) != 0) {
      pcVar8 = "%s: Not a directory";
      goto LAB_00023c6e;
    }
    if ((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)) {
      sink(local_808c,(char *)0x0);
      safefree(local_808c);
      goto LAB_00023788;
    }
    pcVar8 = "%s: Cannot create directory";
  }
  else {
    f = open_new_file(local_808c,act.permissions);
    if (f != (WFile *)0x0) {
      iVar7 = scp_accept_filexfer();
      if (iVar7 == 0) {
        uint64_make(0,0);
        local_807c = local_8054;
        local_8078 = local_8050;
        uVar11 = time((time_t *)0x0);
        pcVar8 = stripslashes(local_808c,1);
        uint64_make(0,0);
        local_806c = 0;
LAB_000239a0:
        do {
          uVar5 = local_8050;
          uVar4 = local_8054;
          x_01.lo = local_8050;
          x_01.hi = local_8054;
          y_01.lo = act.size.lo;
          y_01.hi = act.size.hi;
          iVar7 = uint64_compare(x_01,y_01);
          if (-1 < iVar7) goto LAB_00023af8;
          uint64_make(0,0x8000);
          uVar13 = local_8050;
          uVar12 = local_8054;
          local_80a0 = local_8050;
          x.lo = act.size.hi;
          x.hi = (ulong)&local_8054;
          y.lo = uVar4;
          y.hi = act.size.lo;
          uint64_subtract(x,y);
          x_02.lo = uVar13;
          x_02.hi = uVar12;
          y_02.lo = local_8050;
          y_02.hi = local_8054;
          iVar7 = uint64_compare(x_02,y_02);
          if (0 < iVar7) {
            x_00.lo = act.size.hi;
            x_00.hi = (ulong)&local_8054;
            y_00.lo = uVar4;
            y_00.hi = act.size.lo;
            uint64_subtract(x_00,y_00);
            local_80a0 = local_8050;
          }
          uVar12 = scp_recv_filedata(transbuf,local_80a0);
          if ((int)uVar12 < 1) {
            bump("Lost connection");
          }
          if (!bVar2) {
            uVar13 = write_to_file(f,transbuf,uVar12);
            if (uVar13 == uVar12) {
              if (statistics != 0) {
                x_06.lo = local_8078;
                x_06.hi = local_807c;
                uint64_add32(x_06,uVar12);
                uVar6 = local_8050;
                uVar13 = local_8054;
                local_807c = local_8054;
                local_8078 = local_8050;
                tVar14 = time((time_t *)0x0);
                if (tVar14 <= (int)local_806c) {
                  x_07.lo = uVar5;
                  x_07.hi = uVar4;
                  uint64_add32(x_07,uVar12);
                  x_03.lo = local_8050;
                  x_03.hi = local_8054;
                  y_03.lo = act.size.lo;
                  y_03.hi = act.size.hi;
                  iVar7 = uint64_compare(x_03,y_03);
                  if (iVar7 != 0) goto LAB_00023abe;
                }
                local_806c = time((time_t *)0x0);
                size.lo = uVar6;
                size.hi = uVar13;
                done.lo = local_806c;
                done.hi = uVar11;
                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);
              }
LAB_00023abe:
              x_05.lo = uVar5;
              x_05.hi = uVar4;
              uint64_add32(x_05,uVar12);
              goto LAB_000239a0;
            }
            if (statistics != 0) {
              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");
            }
          }
          x_04.lo = uVar5;
          x_04.hi = uVar4;
          uint64_add32(x_04,uVar12);
          bVar2 = true;
        } while( true );
      }
      safefree(local_808c);
      close_wfile(f);
LAB_00023c40:
      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
        __stack_chk_fail_local();
      }
      return;
    }
    pcVar8 = "%s: Cannot create file";
  }
  goto LAB_00023c6e;
LAB_00023af8:
  if (act.settime != 0) {
    set_file_times(f,act.mtime,act.atime);
  }
  close_wfile(f);
  if (!bVar2) {
    scp_finish_filerecv();
    safefree(local_808c);
    safefree(act.buf);
    goto LAB_00023788;
  }
  pcVar8 = "%s: Write error";
LAB_00023c6e:
  run_err(pcVar8,local_808c);
  safefree(local_808c);
  goto LAB_00023788;
}



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

void __regparm3 FUN_00023700(undefined4 param_1,undefined4 param_2)

{
  undefined1 *puVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  int iVar4;
  size_t sVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  uint uVar9;
  time_t tVar10;
  char *pcVar11;
  undefined4 *puVar12;
  undefined4 *puVar13;
  undefined4 *puVar14;
  undefined1 *puVar15;
  undefined4 *puVar16;
  undefined4 uVar17;
  int in_GS_OFFSET;
  undefined1 local_80ac [24];
  undefined4 local_8094;
  undefined1 *local_8084;
  int local_8080;
  undefined4 local_8074;
  undefined4 local_8064;
  undefined *local_8060;
  undefined *local_8058;
  undefined1 local_8044 [32804];
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2370b;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  local_8074 = param_1;
  local_8064 = param_2;
  iVar4 = FUN_0006a7e0(param_1);
  local_8080 = 1;
  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {
    FUN_000202d0("%s: Not a directory",param_1);
    local_8080 = 0;
  }
  if (DAT_000a91e4 == 0) {
    FUN_00020d40();
  }
  local_8094 = 0;
  local_8084 = local_8044;
  local_8058 = PTR_stderr_000a8fa4;
  local_8060 = PTR_stderr_000a8fa4;
  puVar12 = (undefined4 *)local_80ac;
LAB_00023788:
  while( true ) {
    do {
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;
      iVar4 = FUN_00022750();
      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;
    } while (*(int *)((int)puVar12 + 0x68) == 4);
    if (*(int *)((int)puVar12 + 0x2c) == 0) {
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;
      uVar8 = FUN_0001aad0();
      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;
    }
    else {
      *(undefined4 *)((int)puVar12 + -0xc) = 1;
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;
      iVar4 = FUN_0006ab00();
      if (*(int *)((int)puVar12 + 0x70) != iVar4) {
        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);
        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";
        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);
        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;
        FUN_0001fb60();
        *(int *)((int)puVar12 + -8) = iVar4;
        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";
        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;
        FUN_0001fb60();
      }
      *(char **)((int)puVar12 + -0xc) = ".";
      *(int *)((int)puVar12 + -0x10) = iVar4;
      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;
      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));
      if (*(char *)(iVar4 + sVar5) == '\0') {
        *(char **)((int)puVar12 + -0x10) =
             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;
        FUN_000202d0();
      }
      if (*(int *)((int)puVar12 + 0x48) != 0) {
        *(undefined4 *)((int)puVar12 + -0xc) = 1;
        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;
        iVar6 = FUN_0006ab00();
        *(int *)((int)puVar12 + -0xc) = iVar6;
        *(int *)((int)puVar12 + -0x10) = iVar4;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;
        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));
        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {
          *(int *)((int)puVar12 + -8) = iVar4;
          *(char **)((int)puVar12 + -0xc) =
               "warning: remote host tried to write to a file called \'%s\'";
          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;
          FUN_0001fb60();
          *(int *)((int)puVar12 + -8) = iVar6;
          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;
          FUN_0001fb60();
          *(char **)((int)puVar12 + -0xc) =
               "         If this is a wildcard, consider upgrading to SSH-2 or using";
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;
          FUN_0001fb60();
          *(char **)((int)puVar12 + -0xc) =
               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;
          FUN_0001fb60();
          iVar4 = iVar6;
        }
      }
      if (**(char **)((int)puVar12 + 0x38) == '\0') {
        *(int *)((int)puVar12 + -0x10) = iVar4;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;
        uVar8 = FUN_0001aad0();
        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;
      }
      else {
        *(int *)((int)puVar12 + -0xc) = iVar4;
        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;
        uVar8 = FUN_0006abc0();
        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;
      }
    }
    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;
    uVar9 = FUN_0006a7e0();
    if (*(int *)((int)puVar12 + 0x68) != 2) break;
    if ((uVar9 & 0xfffffffd) != 0) {
      pcVar11 = "%s: Not a directory";
      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
      puVar16 = (undefined4 *)((int)puVar12 + -0xc);
      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;
      goto LAB_00023c6e;
    }
    if (uVar9 == 0) {
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;
      iVar4 = FUN_0006ab90();
      if (iVar4 == 0) {
        pcVar11 = "%s: Cannot create directory";
        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
        puVar16 = (undefined4 *)((int)puVar12 + -0xc);
        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;
        goto LAB_00023c6e;
      }
    }
    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;
    FUN_00023700();
    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;
    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;
    FUN_0001b250();
  }
  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);
  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;
  iVar4 = FUN_0006a480();
  *(int *)((int)puVar12 + 0x24) = iVar4;
  if (iVar4 != 0) {
    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;
    iVar4 = FUN_00023280();
    *(int *)((int)puVar12 + 0x40) = iVar4;
    if (iVar4 == 0) {
      puVar1 = (undefined1 *)((int)puVar12 + 0x58);
      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;
      *(undefined4 *)((int)puVar12 + -8) = 0;
      *(undefined4 *)((int)puVar12 + -0xc) = 0;
      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;
      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;
      FUN_00018c30();
      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);
      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);
      *(undefined4 *)((int)puVar12 + -0x14) = 0;
      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;
      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));
      *(time_t *)((int)puVar12 + 0x4c) = tVar10;
      *(undefined4 *)((int)puVar12 + -0x10) = 1;
      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);
      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;
      uVar8 = FUN_0006ab00();
      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;
      *(undefined4 *)((int)puVar12 + -0xc) = 0;
      *(undefined4 *)((int)puVar12 + -0x10) = 0;
      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;
      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;
      FUN_00018c30();
      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);
      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);
      puVar13 = (undefined4 *)((int)puVar12 + -8);
      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);
      *(char **)((int)puVar12 + 0x34) = "Lost connection";
LAB_000239a0:
      do {
        puVar13[-1] = puVar13[0x1f];
        puVar13[-2] = puVar13[0x1e];
        puVar13[-3] = uVar17;
        puVar13[-4] = uVar8;
        puVar13[-5] = 0x239af;
        iVar4 = FUN_00018c90();
        if (-1 < iVar4) goto LAB_00023af8;
        puVar13[-2] = 0x8000;
        puVar13[-3] = 0;
        uVar3 = puVar13[5];
        puVar13[-4] = uVar3;
        puVar13[-5] = 0x239ce;
        FUN_00018c30();
        puVar13[1] = puVar13[0x15];
        puVar13[2] = puVar13[0x16];
        puVar13[-5] = uVar17;
        puVar13[-6] = uVar8;
        puVar13[-7] = puVar13[0x1e];
        puVar13[-8] = puVar13[0x1d];
        puVar13[-9] = uVar3;
        puVar13[-10] = 0x239f4;
        FUN_00018cc0();
        puVar13[-3] = puVar13[0x15];
        puVar13[-4] = puVar13[0x14];
        puVar13[-5] = puVar13[1];
        puVar13[-6] = *puVar13;
        puVar13[-7] = 0x23a0c;
        iVar4 = FUN_00018c90();
        puVar14 = puVar13 + -2;
        if (0 < iVar4) {
          puVar13[-6] = uVar17;
          puVar13[-7] = uVar8;
          puVar13[-8] = puVar13[0x1d];
          puVar13[-9] = puVar13[0x1c];
          puVar13[-10] = uVar3;
          puVar13[-0xb] = 0x23a2c;
          FUN_00018cc0();
          puVar13[-1] = puVar13[0x13];
          *puVar13 = puVar13[0x14];
          puVar14 = puVar13 + -3;
        }
        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);
        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);
        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;
        iVar4 = FUN_000233b0();
        if (iVar4 < 1) {
          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);
          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;
          FUN_000202d0();
        }
        if (*(int *)((int)puVar14 + 0x18) == 0) {
          *(int *)((int)puVar14 + -8) = iVar4;
          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);
          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);
          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;
          iVar6 = FUN_0006a610();
          if (iVar6 == iVar4) {
            if (DAT_000a903c != 0) {
              *(int *)((int)puVar14 + -4) = iVar4;
              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);
              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);
              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);
              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;
              FUN_00018c70();
              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);
              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);
              *(undefined4 *)((int)puVar14 + -0x14) = 0;
              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;
              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));
              puVar1 = (undefined1 *)((int)puVar14 + -4);
              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {
                *(int *)((int)puVar14 + -8) = iVar4;
                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;
                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;
                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);
                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;
                FUN_00018c70();
                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);
                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);
                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);
                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);
                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;
                iVar6 = FUN_00018c90();
                puVar15 = (undefined1 *)((int)puVar14 + -8);
                puVar14 = (undefined4 *)((int)puVar14 + -8);
                puVar1 = puVar15;
                if (iVar6 != 0) goto LAB_00023abe;
              }
              puVar14 = (undefined4 *)puVar1;
              *(undefined4 *)((int)puVar14 + -0x10) = 0;
              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;
              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));
              *(time_t *)((int)puVar14 + 0x40) = tVar10;
              *(time_t *)((int)puVar14 + -0x14) = tVar10;
              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);
              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);
              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);
              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;
              FUN_0001fe40();
            }
LAB_00023abe:
            *(int *)((int)puVar14 + -4) = iVar4;
            *(undefined4 *)((int)puVar14 + -8) = uVar17;
            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;
            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);
            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;
            FUN_00018c70();
            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);
            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);
            puVar13 = (undefined4 *)((int)puVar14 + -4);
            goto LAB_000239a0;
          }
          if (DAT_000a903c != 0) {
            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";
            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);
            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";
            *(undefined4 *)((int)puVar14 + -0x10) = 1;
            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;
            __printf_chk();
          }
        }
        *(int *)((int)puVar14 + -4) = iVar4;
        *(undefined4 *)((int)puVar14 + -8) = uVar17;
        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;
        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);
        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;
        FUN_00018c70();
        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);
        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);
        puVar13 = (undefined4 *)((int)puVar14 + -4);
        *(undefined4 *)((int)puVar14 + 0x14) = 1;
      } while( true );
    }
    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;
    FUN_0001b250();
    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);
    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;
    FUN_0006a6e0();
LAB_00023c40:
    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;
      FUN_0006f2a0();
    }
    return;
  }
  pcVar11 = "%s: Cannot create file";
  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
  puVar16 = (undefined4 *)((int)puVar12 + -0xc);
  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;
  goto LAB_00023c6e;
LAB_00023af8:
  if (puVar13[0x20] != 0) {
    puVar13[-2] = puVar13[0x21];
    puVar13[-3] = puVar13[0x22];
    puVar13[-4] = puVar13[9];
    puVar13[-5] = 0x23cda;
    FUN_0006a680();
  }
  puVar13[-4] = puVar13[9];
  puVar13[-5] = 0x23b13;
  FUN_0006a6e0();
  if (puVar13[6] == 0) {
    puVar13[-1] = 0x23b27;
    FUN_00023580();
    puVar13[-4] = puVar13[8];
    puVar13[-5] = 0x23b33;
    FUN_0001b250();
    puVar13[-4] = puVar13[0x1b];
    puVar13[-5] = 0x23b3d;
    FUN_0001b250();
    puVar12 = puVar13;
    goto LAB_00023788;
  }
  pcVar11 = "%s: Write error";
  uVar8 = puVar13[8];
  puVar16 = puVar13 + -3;
  puVar13[-3] = uVar8;
LAB_00023c6e:
  *(char **)((int)puVar16 + -4) = pcVar11;
  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;
  FUN_00020c10();
  *(undefined4 *)((int)puVar16 + -4) = uVar8;
  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;
  FUN_0001b250();
  puVar12 = (undefined4 *)((int)puVar16 + 0xc);
  goto LAB_00023788;
}


PUSH EBP
PUSH EDI
MOV EDI,EAX
PUSH ESI
PUSH EBX
CALL 0x00014980
ADD EBX,0x85665
SUB ESP,0x80a8
MOV dword ptr [ESP + 0x44],EAX
MOV dword ptr [ESP + 0x54],EDX
MOV ECX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x8098],ECX
XOR ECX,ECX
PUSH EAX
CALL 0x0006a7e0
ADD ESP,0x10
MOV dword ptr [ESP + 0x2c],0x1
CMP EAX,0x2
JZ 0x00023757
MOV EAX,dword ptr [EBX + 0x48c]
MOV dword ptr [ESP + 0x2c],EAX
TEST EAX,EAX
JNZ 0x00023d00
MOV EAX,dword ptr [EBX + 0x474]
TEST EAX,EAX
JNZ 0x00023766
CALL 0x00020d40
LEA EAX,[ESP + 0x68]
MOV dword ptr [ESP + 0x18],0x0
MOV dword ptr [ESP + 0x28],EAX
MOV EAX,dword ptr [EBX + 0x234]
MOV dword ptr [ESP + 0x54],EAX
MOV dword ptr [ESP + 0x4c],EAX
LEA ESI,[ESI]
SUB ESP,0xc
PUSH dword ptr [ESP + 0x34]
CALL 0x00022750
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00023c40
MOV EAX,dword ptr [ESP + 0x68]
CMP EAX,0x3
JZ 0x00023c40
CMP EAX,0x4
JZ 0x00023788
MOV EAX,dword ptr [ESP + 0x2c]
TEST EAX,EAX
JZ 0x000238e0
SUB ESP,0x8
PUSH 0x1
PUSH dword ptr [ESP + 0x7c]
CALL 0x0006ab00
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x80]
ADD ESP,0x10
CMP EAX,ESI
JZ 0x00023806
SUB ESP,0x4
PUSH EAX
LEA EAX,[EBX + 0xfffc9948]
PUSH EAX
MOV EDI,dword ptr [ESP + 0x58]
PUSH dword ptr [EDI]
CALL 0x0001fb60
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc997c]
PUSH ESI
PUSH EAX
PUSH dword ptr [EDI]
CALL 0x0001fb60
ADD ESP,0x10
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc8c95]
PUSH EAX
PUSH ESI
CALL 0x00014840
ADD ESP,0x10
CMP byte ptr [ESI + EAX*0x1],0x0
JZ 0x00023c88
MOV EAX,dword ptr [ESP + 0x48]
TEST EAX,EAX
JZ 0x00023860
SUB ESP,0x8
PUSH 0x1
PUSH EAX
CALL 0x0006ab00
POP ECX
POP EBP
PUSH EAX
MOV EDI,EAX
PUSH ESI
CALL 0x00014090
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00023860
MOV EAX,dword ptr [EBX + 0x474]
OR EAX,dword ptr [EBX + 0x484]
JZ 0x00023d20
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x38]
CMP byte ptr [EAX],0x0
JZ 0x00023c10
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x0006abc0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
SUB ESP,0xc
PUSH dword ptr [ESP + 0x2c]
CALL 0x0006a7e0
ADD ESP,0x10
CMP dword ptr [ESP + 0x68],0x2
JNZ 0x000238f8
TEST EAX,0xfffffffd
JNZ 0x00023ca0
TEST EAX,EAX
JNZ 0x000238ba
SUB ESP,0xc
PUSH dword ptr [ESP + 0x2c]
CALL 0x0006ab90
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00023ce8
MOV EDI,dword ptr [ESP + 0x20]
XOR EDX,EDX
MOV EAX,EDI
CALL 0x00023700
SUB ESP,0xc
PUSH EDI
CALL 0x0001b250
ADD ESP,0x10
JMP 0x00023788
SUB ESP,0xc
PUSH dword ptr [ESP + 0x44]
CALL 0x0001aad0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
JMP 0x0002387e
SUB ESP,0x8
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x2c]
CALL 0x0006a480
MOV dword ptr [ESP + 0x34],EAX
ADD ESP,0x10
TEST EAX,EAX
JZ 0x00023c60
CALL 0x00023280
MOV dword ptr [ESP + 0x40],EAX
TEST EAX,EAX
JNZ 0x00023c25
LEA EDI,[ESP + 0x58]
SUB ESP,0x4
MOV dword ptr [ESP + 0x18],EDI
PUSH 0x0
PUSH 0x0
PUSH EDI
CALL 0x00018c30
MOV EAX,dword ptr [ESP + 0x64]
MOV EDX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP + 0x40],EDX
PUSH 0x0
CALL 0x00014180
MOV dword ptr [ESP + 0x60],EAX
POP EAX
POP EDX
PUSH 0x1
PUSH dword ptr [ESP + 0x2c]
CALL 0x0006ab00
MOV dword ptr [ESP + 0x54],EAX
ADD ESP,0xc
PUSH 0x0
PUSH 0x0
PUSH EDI
CALL 0x00018c30
MOV EDI,dword ptr [ESP + 0x64]
MOV EBP,dword ptr [ESP + 0x68]
ADD ESP,0xc
LEA EAX,[ESP + 0x8c]
MOV dword ptr [ESP + 0x1c],EAX
LEA EAX,[EBX + 0xfffc8d50]
MOV dword ptr [ESP + 0x3c],EAX
LEA ESI,[ESI]
LEA ESI,[ESI]
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x7c]
PUSH EBP
PUSH EDI
CALL 0x00018c90
ADD ESP,0x10
TEST EAX,EAX
JNS 0x00023af8
SUB ESP,0x4
PUSH 0x8000
PUSH 0x0
MOV ESI,dword ptr [ESP + 0x20]
PUSH ESI
CALL 0x00018c30
MOV EAX,dword ptr [ESP + 0x64]
MOV EDX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x14],EAX
MOV dword ptr [ESP + 0x18],EDX
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0x90]
PUSH ESI
CALL 0x00018cc0
ADD ESP,0x1c
PUSH dword ptr [ESP + 0x5c]
PUSH dword ptr [ESP + 0x5c]
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x14]
CALL 0x00018c90
ADD ESP,0x10
TEST EAX,EAX
JLE 0x00023a3f
SUB ESP,0xc
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0x90]
PUSH ESI
CALL 0x00018cc0
MOV EAX,dword ptr [ESP + 0x74]
MOV EDX,dword ptr [ESP + 0x78]
MOV dword ptr [ESP + 0x24],EAX
MOV dword ptr [ESP + 0x28],EDX
ADD ESP,0x1c
SUB ESP,0x8
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [ESP + 0x28]
CALL 0x000233b0
ADD ESP,0x10
MOV ESI,EAX
TEST EAX,EAX
JLE 0x00023ae0
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x00023a8a
SUB ESP,0x4
PUSH ESI
PUSH dword ptr [ESP + 0x24]
PUSH dword ptr [ESP + 0x30]
CALL 0x0006a610
ADD ESP,0x10
CMP EAX,ESI
JZ 0x00023ab0
MOV EAX,dword ptr [EBX + 0x2cc]
TEST EAX,EAX
JNZ 0x00023be8
PUSH ESI
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x20]
CALL 0x00018c70
MOV EDI,dword ptr [ESP + 0x64]
MOV EBP,dword ptr [ESP + 0x68]
ADD ESP,0xc
MOV dword ptr [ESP + 0x18],0x1
JMP 0x000239a0
MOV EAX,dword ptr [EBX + 0x2cc]
TEST EAX,EAX
JNZ 0x00023b48
PUSH ESI
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x20]
CALL 0x00018c70
MOV EDI,dword ptr [ESP + 0x64]
MOV EBP,dword ptr [ESP + 0x68]
ADD ESP,0xc
JMP 0x000239a0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x48]
CALL 0x000202d0
ADD ESP,0x10
JMP 0x00023a5c
MOV ECX,dword ptr [ESP + 0x80]
TEST ECX,ECX
JNZ 0x00023cc0
SUB ESP,0xc
PUSH dword ptr [ESP + 0x30]
CALL 0x0006a6e0
ADD ESP,0x10
MOV EDX,dword ptr [ESP + 0x18]
TEST EDX,EDX
JNZ 0x00023cb0
CALL 0x00023580
SUB ESP,0xc
PUSH dword ptr [ESP + 0x2c]
CALL 0x0001b250
POP EAX
PUSH dword ptr [ESP + 0x78]
CALL 0x0001b250
ADD ESP,0x10
JMP 0x00023788
PUSH ESI
PUSH dword ptr [ESP + 0x38]
PUSH dword ptr [ESP + 0x38]
PUSH dword ptr [ESP + 0x20]
CALL 0x00018c70
MOV EAX,dword ptr [ESP + 0x64]
MOV EDX,dword ptr [ESP + 0x68]
MOV dword ptr [ESP + 0x3c],EAX
MOV dword ptr [ESP + 0x40],EDX
PUSH 0x0
CALL 0x00014180
ADD ESP,0x10
CMP EAX,dword ptr [ESP + 0x40]
JG 0x00023ba9
PUSH ESI
PUSH EBP
PUSH EDI
PUSH dword ptr [ESP + 0x20]
CALL 0x00018c70
ADD ESP,0xc
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x7c]
PUSH dword ptr [ESP + 0x64]
PUSH dword ptr [ESP + 0x64]
CALL 0x00018c90
ADD ESP,0x10
TEST EAX,EAX
JNZ 0x00023abe
SUB ESP,0xc
PUSH 0x0
CALL 0x00014180
MOV dword ptr [ESP + 0x50],EAX
PUSH EAX
PUSH dword ptr [ESP + 0x64]
PUSH dword ptr [ESP + 0x4c]
PUSH dword ptr [ESP + 0x4c]
MOV EDX,dword ptr [ESP + 0x98]
MOV ECX,dword ptr [ESP + 0x9c]
MOV EAX,dword ptr [ESP + 0x64]
CALL 0x0001fe40
ADD ESP,0x20
JMP 0x00023abe
LEA EAX,[EBX + 0xfffc9af0]
PUSH EAX
LEA EAX,[EBX + 0xfffc9014]
PUSH dword ptr [ESP + 0x48]
PUSH EAX
PUSH 0x1
CALL 0x00014620
ADD ESP,0x10
JMP 0x00023a8a
SUB ESP,0xc
PUSH ESI
CALL 0x0001aad0
MOV dword ptr [ESP + 0x30],EAX
ADD ESP,0x10
JMP 0x0002387e
SUB ESP,0xc
PUSH dword ptr [ESP + 0x2c]
CALL 0x0001b250
POP ECX
PUSH dword ptr [ESP + 0x30]
CALL 0x0006a6e0
ADD ESP,0x10
NOP
MOV EAX,dword ptr [ESP + 0x808c]
XOR EAX,dword ptr GS:[0x14]
JNZ 0x00023d72
ADD ESP,0x809c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc8ffd]
MOV EDI,dword ptr [ESP + 0x28]
PUSH EDI
PUSH EAX
CALL 0x00020c10
MOV dword ptr [ESP],EDI
CALL 0x0001b250
ADD ESP,0x10
JMP 0x00023788
SUB ESP,0xc
LEA EAX,[EBX + 0xfffc99a4]
PUSH EAX
CALL 0x000202d0
ADD ESP,0x10
JMP 0x00023823
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc8fcd]
MOV EDI,dword ptr [ESP + 0x28]
PUSH EDI
JMP 0x00023c6e
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc9026]
MOV EDI,dword ptr [ESP + 0x28]
PUSH EDI
JMP 0x00023c6e
SUB ESP,0x4
PUSH dword ptr [ESP + 0x88]
PUSH dword ptr [ESP + 0x90]
PUSH dword ptr [ESP + 0x30]
CALL 0x0006a680
ADD ESP,0x10
JMP 0x00023b07
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc8fe1]
MOV EDI,dword ptr [ESP + 0x28]
PUSH EDI
JMP 0x00023c6e
SUB ESP,0x8
LEA EAX,[EBX + 0xfffc8fcd]
PUSH EDI
PUSH EAX
CALL 0x000202d0
ADD ESP,0x10
MOV dword ptr [ESP + 0x2c],0x0
JMP 0x00023757
SUB ESP,0x4
LEA EAX,[EBX + 0xfffc99f0]
PUSH ESI
PUSH EAX
MOV ESI,dword ptr [ESP + 0x60]
PUSH dword ptr [ESI]
CALL 0x0001fb60
ADD ESP,0xc
LEA EAX,[EBX + 0xfffc9a2c]
PUSH EDI
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x0001fb60
POP EBP
POP EAX
LEA EAX,[EBX + 0xfffc9a5c]
PUSH EAX
PUSH dword ptr [ESI]
CALL 0x0001fb60
POP EAX
LEA EAX,[EBX + 0xfffc9aa4]
POP EDX
PUSH EAX
PUSH dword ptr [ESI]
MOV ESI,EDI
CALL 0x0001fb60
ADD ESP,0x10
JMP 0x00023860
CALL 0x0006f2a0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_00023700(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}\n\n" comment (function_definition "void __regparm3 FUN_00023700(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00023700(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "time_t tVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined1 local_80ac [24];" type_identifier (array_declarator "local_80ac [24]" identifier [ number_literal ]) ;) (declaration "undefined4 local_8094;" type_identifier identifier ;) (declaration "undefined1 *local_8084;" type_identifier (pointer_declarator "*local_8084" * identifier) ;) (declaration "int local_8080;" primitive_type identifier ;) (declaration "undefined4 local_8074;" type_identifier identifier ;) (declaration "undefined4 local_8064;" type_identifier identifier ;) (declaration "undefined *local_8060;" type_identifier (pointer_declarator "*local_8060" * identifier) ;) (declaration "undefined *local_8058;" type_identifier (pointer_declarator "*local_8058" * identifier) ;) (declaration "undefined1 local_8044 [32804];" type_identifier (array_declarator "local_8044 [32804]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2370b;" (assignment_expression "uStack_14 = 0x2370b" identifier = number_literal) ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_8074 = param_1;" (assignment_expression "local_8074 = param_1" identifier = identifier) ;) (expression_statement "local_8064 = param_2;" (assignment_expression "local_8064 = param_2" identifier = identifier) ;) (expression_statement "iVar4 = FUN_0006a7e0(param_1);" (assignment_expression "iVar4 = FUN_0006a7e0(param_1)" identifier = (call_expression "FUN_0006a7e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_8080 = 1;" (assignment_expression "local_8080 = 1" identifier = number_literal) ;) (if_statement "if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }" if (parenthesized_expression "((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0))" ( (binary_expression "(iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)" (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) && (parenthesized_expression "(local_8080 = DAT_000a91fc, DAT_000a91fc != 0)" ( (comma_expression "local_8080 = DAT_000a91fc, DAT_000a91fc != 0" (assignment_expression "local_8080 = DAT_000a91fc" identifier = identifier) , (binary_expression "DAT_000a91fc != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }" { (expression_statement "FUN_000202d0("%s: Not a directory",param_1);" (call_expression "FUN_000202d0("%s: Not a directory",param_1)" identifier (argument_list "("%s: Not a directory",param_1)" ( (string_literal ""%s: Not a directory"" " string_content ") , identifier ))) ;) (expression_statement "local_8080 = 0;" (assignment_expression "local_8080 = 0" identifier = number_literal) ;) })) (if_statement "if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }" if (parenthesized_expression "(DAT_000a91e4 == 0)" ( (binary_expression "DAT_000a91e4 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00020d40();\n  }" { (expression_statement "FUN_00020d40();" (call_expression "FUN_00020d40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_8094 = 0;" (assignment_expression "local_8094 = 0" identifier = number_literal) ;) (expression_statement "local_8084 = local_8044;" (assignment_expression "local_8084 = local_8044" identifier = identifier) ;) (expression_statement "local_8058 = PTR_stderr_000a8fa4;" (assignment_expression "local_8058 = PTR_stderr_000a8fa4" identifier = identifier) ;) (expression_statement "local_8060 = PTR_stderr_000a8fa4;" (assignment_expression "local_8060 = PTR_stderr_000a8fa4" identifier = identifier) ;) (expression_statement "puVar12 = (undefined4 *)local_80ac;" (assignment_expression "puVar12 = (undefined4 *)local_80ac" identifier = (cast_expression "(undefined4 *)local_80ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" statement_identifier : (while_statement "while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" { (do_statement "do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);" do (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x28)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x28)" ( (binary_expression "(int)puVar12 + 0x28" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23794;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23794" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_00022750();" (assignment_expression "iVar4 = FUN_00022750()" identifier = (call_expression "FUN_00022750()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;" if (parenthesized_expression "((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3))" ( (binary_expression "(iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) == 3)" ( (binary_expression "*(int *)((int)puVar12 + 0x68) == 3" (pointer_expression "*(int *)((int)puVar12 + 0x68)" * (cast_expression "(int *)((int)puVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x68)" ( (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_00023c40;" goto statement_identifier ;)) }) while (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) == 4)" ( (binary_expression "*(int *)((int)puVar12 + 0x68) == 4" (pointer_expression "*(int *)((int)puVar12 + 0x68)" * (cast_expression "(int *)((int)puVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x68)" ( (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) ;) (if_statement "if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x2c) == 0)" ( (binary_expression "*(int *)((int)puVar12 + 0x2c) == 0" (pointer_expression "*(int *)((int)puVar12 + 0x2c)" * (cast_expression "(int *)((int)puVar12 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x2c)" ( (binary_expression "(int)puVar12 + 0x2c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x38)" ( (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238ec" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0001aad0();" (assignment_expression "uVar8 = FUN_0001aad0()" identifier = (call_expression "FUN_0001aad0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x70)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x70)" ( (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x237cb" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_0006ab00();" (assignment_expression "iVar4 = FUN_0006ab00()" identifier = (call_expression "FUN_0006ab00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x70) != iVar4)" ( (binary_expression "*(int *)((int)puVar12 + 0x70) != iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x70)" * (cast_expression "(int *)((int)puVar12 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x70)" ( (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }" { (expression_statement "*(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);" (assignment_expression "*(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70)" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar12 + 0x70)" * (cast_expression "(int *)((int)puVar12 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x70)" ( (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""warning: remote host sent a compound pathname \'%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);" (assignment_expression "puVar2 = *(undefined4 **)((int)puVar12 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar12 + 0x4c)" * (cast_expression "(undefined4 **)((int)puVar12 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x4c)" ( (binary_expression "(int)puVar12 + 0x4c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x237f1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)((int)puVar12 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         renaming local file to \'%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23803;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23803" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(char **)((int)puVar12 + -0xc) = ".";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""."" " string_content ")) ;) (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23816;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23816" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));" (assignment_expression "sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier = (call_expression "strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier (argument_list "(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" ( (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }" if (parenthesized_expression "(*(char *)(iVar4 + sVar5) == '\0')" ( (binary_expression "*(char *)(iVar4 + sVar5) == '\0'" (pointer_expression "*(char *)(iVar4 + sVar5)" * (cast_expression "(char *)(iVar4 + sVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + sVar5)" ( (binary_expression "iVar4 + sVar5" identifier + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }" { (expression_statement "*(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";" (assignment_expression "*(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!"" (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""security violation: remote host attempted to write to a \'.\' or \'..\' path!"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c97" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000202d0();" (call_expression "FUN_000202d0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x48) != 0)" ( (binary_expression "*(int *)((int)puVar12 + 0x48) != 0" (pointer_expression "*(int *)((int)puVar12 + 0x48)" * (cast_expression "(int *)((int)puVar12 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x48)" ( (binary_expression "(int)puVar12 + 0x48" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);" (assignment_expression "*(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48)" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar12 + 0x48)" * (cast_expression "(int *)((int)puVar12 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x48)" ( (binary_expression "(int)puVar12 + 0x48" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23836;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23836" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = FUN_0006ab00();" (assignment_expression "iVar6 = FUN_0006ab00()" identifier = (call_expression "FUN_0006ab00()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar12 + -0xc) = iVar6;" (assignment_expression "*(int *)((int)puVar12 + -0xc) = iVar6" (pointer_expression "*(int *)((int)puVar12 + -0xc)" * (cast_expression "(int *)((int)puVar12 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23841;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23841" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));" (assignment_expression "iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier = (call_expression "strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier (argument_list "(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" ( (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }" if (parenthesized_expression "((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0))" ( (binary_expression "(iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(DAT_000a91e4 == 0 && DAT_000a91f4 == 0)" ( (binary_expression "DAT_000a91e4 == 0 && DAT_000a91f4 == 0" (binary_expression "DAT_000a91e4 == 0" identifier == number_literal) && (binary_expression "DAT_000a91f4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }" { (expression_statement "*(int *)((int)puVar12 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""warning: remote host tried to write to a file called \'%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "puVar2 = *(undefined4 **)((int)puVar12 + 0x54);" (assignment_expression "puVar2 = *(undefined4 **)((int)puVar12 + 0x54)" identifier = (pointer_expression "*(undefined4 **)((int)puVar12 + 0x54)" * (cast_expression "(undefined4 **)((int)puVar12 + 0x54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x54)" ( (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d36" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)((int)puVar12 + -8) = iVar6;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar6" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         when we requested a file called \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d48" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         If this is a wildcard, consider upgrading to SSH-2 or using"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d58" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         the \'-unsafe\' option. Renaming of this file has been disallowed."" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = iVar6;" (assignment_expression "iVar4 = iVar6" identifier = identifier) ;) })) })) (if_statement "if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" if (parenthesized_expression "(**(char **)((int)puVar12 + 0x38) == '\0')" ( (binary_expression "**(char **)((int)puVar12 + 0x38) == '\0'" (pointer_expression "**(char **)((int)puVar12 + 0x38)" * (pointer_expression "*(char **)((int)puVar12 + 0x38)" * (cast_expression "(char **)((int)puVar12 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x38)" ( (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" { (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c19" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0001aad0();" (assignment_expression "uVar8 = FUN_0001aad0()" identifier = (call_expression "FUN_0001aad0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" else (compound_statement "{\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" { (expression_statement "*(int *)((int)puVar12 + -0xc) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0xc) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0xc)" * (cast_expression "(int *)((int)puVar12 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);" (assignment_expression "*(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38)" (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(char **)((int)puVar12 + 0x38)" * (cast_expression "(char **)((int)puVar12 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x38)" ( (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23877;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23877" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0006abc0();" (assignment_expression "uVar8 = FUN_0006abc0()" identifier = (call_expression "FUN_0006abc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }))) }))) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x2388a" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_0006a7e0();" (assignment_expression "uVar9 = FUN_0006a7e0()" identifier = (call_expression "FUN_0006a7e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(int *)((int)puVar12 + 0x68) != 2) break;" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) != 2)" ( (binary_expression "*(int *)((int)puVar12 + 0x68) != 2" (pointer_expression "*(int *)((int)puVar12 + 0x68)" * (cast_expression "(int *)((int)puVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x68)" ( (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (break_statement "break;" break ;)) (if_statement "if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }" if (parenthesized_expression "((uVar9 & 0xfffffffd) != 0)" ( (binary_expression "(uVar9 & 0xfffffffd) != 0" (parenthesized_expression "(uVar9 & 0xfffffffd)" ( (binary_expression "uVar9 & 0xfffffffd" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }" { (expression_statement "pcVar11 = "%s: Not a directory";" (assignment_expression "pcVar11 = "%s: Not a directory"" identifier = (string_literal ""%s: Not a directory"" " string_content ")) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) })) (if_statement "if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238af;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238af" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_0006ab90();" (assignment_expression "iVar4 = FUN_0006ab90()" identifier = (call_expression "FUN_0006ab90()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }" { (expression_statement "pcVar11 = "%s: Cannot create directory";" (assignment_expression "pcVar11 = "%s: Cannot create directory"" identifier = (string_literal ""%s: Cannot create directory"" " string_content ")) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) })) })) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -4) = 0x238c7;" (assignment_expression "*(undefined4 *)((int)puVar12 + -4) = 0x238c7" (pointer_expression "*(undefined4 *)((int)puVar12 + -4)" * (cast_expression "(undefined4 *)((int)puVar12 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -4)" ( (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00023700();" (call_expression "FUN_00023700()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238d0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x74)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x74)" ( (binary_expression "(int)puVar12 + 0x74" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23908;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23908" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_0006a480();" (assignment_expression "iVar4 = FUN_0006a480()" identifier = (call_expression "FUN_0006a480()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar12 + 0x24) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + 0x24) = iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x24)" * (cast_expression "(int *)((int)puVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x24)" ( (binary_expression "(int)puVar12 + 0x24" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }" { (expression_statement "*(undefined4 *)((int)puVar12 + -4) = 0x2391c;" (assignment_expression "*(undefined4 *)((int)puVar12 + -4) = 0x2391c" (pointer_expression "*(undefined4 *)((int)puVar12 + -4)" * (cast_expression "(undefined4 *)((int)puVar12 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -4)" ( (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_00023280();" (assignment_expression "iVar4 = FUN_00023280()" identifier = (call_expression "FUN_00023280()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar12 + 0x40) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + 0x40) = iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x40)" * (cast_expression "(int *)((int)puVar12 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x40)" ( (binary_expression "(int)puVar12 + 0x40" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }" { (expression_statement "puVar1 = (undefined1 *)((int)puVar12 + 0x58);" (assignment_expression "puVar1 = (undefined1 *)((int)puVar12 + 0x58)" identifier = (cast_expression "(undefined1 *)((int)puVar12 + 0x58)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x58)" ( (binary_expression "(int)puVar12 + 0x58" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 **)((int)puVar12 + 0x14) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + 0x14) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + 0x14)" * (cast_expression "(undefined1 **)((int)puVar12 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x14)" ( (binary_expression "(int)puVar12 + 0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -8) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -8)" * (cast_expression "(undefined4 *)((int)puVar12 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar12 + -0x10) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + -0x10) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar12 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x2393d" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x2c)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x2c)" ( (binary_expression "(int)puVar12 + 0x2c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x54)" ( (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58)" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x30)" ( (binary_expression "(int)puVar12 + 0x30" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x58)" ( (binary_expression "(int)puVar12 + 0x58" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23954;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23954" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x18)" ( (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "tVar10 = time(*(time_t **)((int)puVar12 + -0x14));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar12 + -0x14))" identifier = (call_expression "time(*(time_t **)((int)puVar12 + -0x14))" identifier (argument_list "(*(time_t **)((int)puVar12 + -0x14))" ( (pointer_expression "*(time_t **)((int)puVar12 + -0x14)" * (cast_expression "(time_t **)((int)puVar12 + -0x14)" ( (type_descriptor "time_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(time_t *)((int)puVar12 + 0x4c) = tVar10;" (assignment_expression "*(time_t *)((int)puVar12 + 0x4c) = tVar10" (pointer_expression "*(time_t *)((int)puVar12 + 0x4c)" * (cast_expression "(time_t *)((int)puVar12 + 0x4c)" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x4c)" ( (binary_expression "(int)puVar12 + 0x4c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x1c)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x1c)" ( (binary_expression "(int)puVar12 + 0x1c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23965;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23965" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x18)" ( (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0006ab00();" (assignment_expression "uVar8 = FUN_0006ab00()" identifier = (call_expression "FUN_0006ab00()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x40) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x40) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x40)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x40)" ( (binary_expression "(int)puVar12 + 0x40" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar12 + -0x14) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + -0x14) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar12 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23976;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23976" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x18)" ( (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x50);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x50)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x50)" ( (binary_expression "(int)puVar12 + 0x50" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)((int)puVar12 + 0x54);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar12 + 0x54)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x54)" ( (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined4 *)((int)puVar12 + -8);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar12 + -8)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);" (assignment_expression "*(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84)" (pointer_expression "*(undefined1 **)((int)puVar12 + 0x14)" * (cast_expression "(undefined1 **)((int)puVar12 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x14)" ( (binary_expression "(int)puVar12 + 0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar12 + 0x84)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x84)" ( (binary_expression "(int)puVar12 + 0x84" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar12 + 0x34) = "Lost connection";" (assignment_expression "*(char **)((int)puVar12 + 0x34) = "Lost connection"" (pointer_expression "*(char **)((int)puVar12 + 0x34)" * (cast_expression "(char **)((int)puVar12 + 0x34)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x34)" ( (binary_expression "(int)puVar12 + 0x34" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Lost connection"" " string_content ")) ;) (labeled_statement "LAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );" statement_identifier : (do_statement "do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );" do (compound_statement "{\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      }" { (expression_statement "puVar13[-1] = puVar13[0x1f];" (assignment_expression "puVar13[-1] = puVar13[0x1f]" (subscript_expression "puVar13[-1]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1f]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-2] = puVar13[0x1e];" (assignment_expression "puVar13[-2] = puVar13[0x1e]" (subscript_expression "puVar13[-2]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1e]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-3] = uVar17;" (assignment_expression "puVar13[-3] = uVar17" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-4] = uVar8;" (assignment_expression "puVar13[-4] = uVar8" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-5] = 0x239af;" (assignment_expression "puVar13[-5] = 0x239af" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00018c90();" (assignment_expression "iVar4 = FUN_00018c90()" identifier = (call_expression "FUN_00018c90()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar4) goto LAB_00023af8;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_00023af8;" goto statement_identifier ;)) (expression_statement "puVar13[-2] = 0x8000;" (assignment_expression "puVar13[-2] = 0x8000" (subscript_expression "puVar13[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[-3] = 0;" (assignment_expression "puVar13[-3] = 0" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar3 = puVar13[5];" (assignment_expression "uVar3 = puVar13[5]" identifier = (subscript_expression "puVar13[5]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-4] = uVar3;" (assignment_expression "puVar13[-4] = uVar3" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-5] = 0x239ce;" (assignment_expression "puVar13[-5] = 0x239ce" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[1] = puVar13[0x15];" (assignment_expression "puVar13[1] = puVar13[0x15]" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x15]" identifier [ number_literal ])) ;) (expression_statement "puVar13[2] = puVar13[0x16];" (assignment_expression "puVar13[2] = puVar13[0x16]" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x16]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = uVar17;" (assignment_expression "puVar13[-5] = uVar17" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-6] = uVar8;" (assignment_expression "puVar13[-6] = uVar8" (subscript_expression "puVar13[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-7] = puVar13[0x1e];" (assignment_expression "puVar13[-7] = puVar13[0x1e]" (subscript_expression "puVar13[-7]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1e]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-8] = puVar13[0x1d];" (assignment_expression "puVar13[-8] = puVar13[0x1d]" (subscript_expression "puVar13[-8]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1d]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-9] = uVar3;" (assignment_expression "puVar13[-9] = uVar3" (subscript_expression "puVar13[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-10] = 0x239f4;" (assignment_expression "puVar13[-10] = 0x239f4" (subscript_expression "puVar13[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00018cc0();" (call_expression "FUN_00018cc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-3] = puVar13[0x15];" (assignment_expression "puVar13[-3] = puVar13[0x15]" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x15]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-4] = puVar13[0x14];" (assignment_expression "puVar13[-4] = puVar13[0x14]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x14]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = puVar13[1];" (assignment_expression "puVar13[-5] = puVar13[1]" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = (subscript_expression "puVar13[1]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-6] = *puVar13;" (assignment_expression "puVar13[-6] = *puVar13" (subscript_expression "puVar13[-6]" identifier [ number_literal ]) = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar13[-7] = 0x23a0c;" (assignment_expression "puVar13[-7] = 0x23a0c" (subscript_expression "puVar13[-7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00018c90();" (assignment_expression "iVar4 = FUN_00018c90()" identifier = (call_expression "FUN_00018c90()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar14 = puVar13 + -2;" (assignment_expression "puVar14 = puVar13 + -2" identifier = (binary_expression "puVar13 + -2" identifier + number_literal)) ;) (if_statement "if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }" { (expression_statement "puVar13[-6] = uVar17;" (assignment_expression "puVar13[-6] = uVar17" (subscript_expression "puVar13[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-7] = uVar8;" (assignment_expression "puVar13[-7] = uVar8" (subscript_expression "puVar13[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-8] = puVar13[0x1d];" (assignment_expression "puVar13[-8] = puVar13[0x1d]" (subscript_expression "puVar13[-8]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1d]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-9] = puVar13[0x1c];" (assignment_expression "puVar13[-9] = puVar13[0x1c]" (subscript_expression "puVar13[-9]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1c]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-10] = uVar3;" (assignment_expression "puVar13[-10] = uVar3" (subscript_expression "puVar13[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-0xb] = 0x23a2c;" (assignment_expression "puVar13[-0xb] = 0x23a2c" (subscript_expression "puVar13[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00018cc0();" (call_expression "FUN_00018cc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-1] = puVar13[0x13];" (assignment_expression "puVar13[-1] = puVar13[0x13]" (subscript_expression "puVar13[-1]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x13]" identifier [ number_literal ])) ;) (expression_statement "*puVar13 = puVar13[0x14];" (assignment_expression "*puVar13 = puVar13[0x14]" (pointer_expression "*puVar13" * identifier) = (subscript_expression "puVar13[0x14]" identifier [ number_literal ])) ;) (expression_statement "puVar14 = puVar13 + -3;" (assignment_expression "puVar14 = puVar13 + -3" identifier = (binary_expression "puVar13 + -3" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0xc)" ( (binary_expression "(int)puVar14 + 0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x1c)" ( (binary_expression "(int)puVar14 + 0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000233b0();" (assignment_expression "iVar4 = FUN_000233b0()" identifier = (call_expression "FUN_000233b0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }" if (parenthesized_expression "(iVar4 < 1)" ( (binary_expression "iVar4 < 1" identifier < number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }" { (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x3c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x3c)" ( (binary_expression "(int)puVar14 + 0x3c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aec" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000202d0();" (call_expression "FUN_000202d0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }" if (parenthesized_expression "(*(int *)((int)puVar14 + 0x18) == 0)" ( (binary_expression "*(int *)((int)puVar14 + 0x18) == 0" (pointer_expression "*(int *)((int)puVar14 + 0x18)" * (cast_expression "(int *)((int)puVar14 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x18)" ( (binary_expression "(int)puVar14 + 0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }" { (expression_statement "*(int *)((int)puVar14 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -8)" * (cast_expression "(int *)((int)puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x1c)" ( (binary_expression "(int)puVar14 + 0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x24)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x24)" ( (binary_expression "(int)puVar14 + 0x24" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a75" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = FUN_0006a610();" (assignment_expression "iVar6 = FUN_0006a610()" identifier = (call_expression "FUN_0006a610()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }" if (parenthesized_expression "(iVar6 == iVar4)" ( (binary_expression "iVar6 == iVar4" identifier == identifier) )) (compound_statement "{\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }" { (if_statement "if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }" if (parenthesized_expression "(DAT_000a903c != 0)" ( (binary_expression "DAT_000a903c != 0" identifier != number_literal) )) (compound_statement "{\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }" { (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" * (cast_expression "(int *)((int)puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34)" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x34)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x34)" ( (binary_expression "(int)puVar14 + 0x34" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x30)" ( (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x2c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2c)" ( (binary_expression "(int)puVar14 + 0x2c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58)" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x30)" ( (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x58)" ( (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b71" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "tVar10 = time(*(time_t **)((int)puVar14 + -0x14));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar14 + -0x14))" identifier = (call_expression "time(*(time_t **)((int)puVar14 + -0x14))" identifier (argument_list "(*(time_t **)((int)puVar14 + -0x14))" ( (pointer_expression "*(time_t **)((int)puVar14 + -0x14)" * (cast_expression "(time_t **)((int)puVar14 + -0x14)" ( (type_descriptor "time_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar1 = (undefined1 *)((int)puVar14 + -4);" (assignment_expression "puVar1 = (undefined1 *)((int)puVar14 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar14 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }" if (parenthesized_expression "(tVar10 <= *(int *)((int)puVar14 + 0x3c))" ( (binary_expression "tVar10 <= *(int *)((int)puVar14 + 0x3c)" identifier <= (pointer_expression "*(int *)((int)puVar14 + 0x3c)" * (cast_expression "(int *)((int)puVar14 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x3c)" ( (binary_expression "(int)puVar14 + 0x3c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }" { (expression_statement "*(int *)((int)puVar14 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -8)" * (cast_expression "(int *)((int)puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x10)" ( (binary_expression "(int)puVar14 + 0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b86" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x74)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x74)" ( (binary_expression "(int)puVar14 + 0x74" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x70)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x70)" ( (binary_expression "(int)puVar14 + 0x70" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x50)" ( (binary_expression "(int)puVar14 + 0x50" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x1c)" ( (binary_expression "(int)puVar14 + -0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = FUN_00018c90();" (assignment_expression "iVar6 = FUN_00018c90()" identifier = (call_expression "FUN_00018c90()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar14 + -8);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar14 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar14 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar14 = (undefined4 *)((int)puVar14 + -8);" (assignment_expression "puVar14 = (undefined4 *)((int)puVar14 + -8)" identifier = (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar1 = puVar15;" (assignment_expression "puVar1 = puVar15" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_00023abe;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00023abe;" goto statement_identifier ;)) })) (expression_statement "puVar14 = (undefined4 *)puVar1;" (assignment_expression "puVar14 = (undefined4 *)puVar1" identifier = (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "tVar10 = time(*(time_t **)((int)puVar14 + -0x10));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar14 + -0x10))" identifier = (call_expression "time(*(time_t **)((int)puVar14 + -0x10))" identifier (argument_list "(*(time_t **)((int)puVar14 + -0x10))" ( (pointer_expression "*(time_t **)((int)puVar14 + -0x10)" * (cast_expression "(time_t **)((int)puVar14 + -0x10)" ( (type_descriptor "time_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(time_t *)((int)puVar14 + 0x40) = tVar10;" (assignment_expression "*(time_t *)((int)puVar14 + 0x40) = tVar10" (pointer_expression "*(time_t *)((int)puVar14 + 0x40)" * (cast_expression "(time_t *)((int)puVar14 + 0x40)" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x40)" ( (binary_expression "(int)puVar14 + 0x40" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(time_t *)((int)puVar14 + -0x14) = tVar10;" (assignment_expression "*(time_t *)((int)puVar14 + -0x14) = tVar10" (pointer_expression "*(time_t *)((int)puVar14 + -0x14)" * (cast_expression "(time_t *)((int)puVar14 + -0x14)" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x50)" ( (binary_expression "(int)puVar14 + 0x50" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x1c)" ( (binary_expression "(int)puVar14 + -0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x34)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x34)" ( (binary_expression "(int)puVar14 + 0x34" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x20)" ( (binary_expression "(int)puVar14 + -0x20" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x30)" ( (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x24)" ( (binary_expression "(int)puVar14 + -0x24" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fe40();" (call_expression "FUN_0001fe40()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;" statement_identifier : (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" * (cast_expression "(int *)((int)puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aca" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar14 + 0x54)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar14 + 0x58)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x58)" ( (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined4 *)((int)puVar14 + -4);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar14 + -4)" identifier = (cast_expression "(undefined4 *)((int)puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_000239a0;" goto statement_identifier ;) })) (if_statement "if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }" if (parenthesized_expression "(DAT_000a903c != 0)" ( (binary_expression "DAT_000a903c != 0" identifier != number_literal) )) (compound_statement "{\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }" { (expression_statement "*(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";" (assignment_expression "*(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file"" (pointer_expression "*(char **)((int)puVar14 + -4)" * (cast_expression "(char **)((int)puVar14 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Write error.. waiting for end of file"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44)" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x44)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x44)" ( (binary_expression "(int)puVar14 + 0x44" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";" (assignment_expression "*(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n"" (pointer_expression "*(char **)((int)puVar14 + -0xc)" * (cast_expression "(char **)((int)puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""\r%-25.25s | %50s\n"" " escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23c01" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__printf_chk();" (call_expression "__printf_chk()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" * (cast_expression "(int *)((int)puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a96" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar14 + 0x54)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar14 + 0x58)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x58)" ( (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined4 *)((int)puVar14 + -4);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar14 + -4)" identifier = (cast_expression "(undefined4 *)((int)puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + 0x14) = 1;" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x14) = 1" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c31" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x24)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x24)" ( (binary_expression "(int)puVar12 + 0x24" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0006a6e0();" (call_expression "FUN_0006a6e0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" statement_identifier : (if_statement "if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar12 + 0x808c)" * (cast_expression "(int *)((int)puVar12 + 0x808c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x808c)" ( (binary_expression "(int)puVar12 + 0x808c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" { comment (expression_statement "*(undefined **)((int)puVar12 + -4) = &UNK_00023d77;" (assignment_expression "*(undefined **)((int)puVar12 + -4) = &UNK_00023d77" (pointer_expression "*(undefined **)((int)puVar12 + -4)" * (cast_expression "(undefined **)((int)puVar12 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -4)" ( (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_00023d77" & identifier)) ;) (expression_statement "FUN_0006f2a0();" (call_expression "FUN_0006f2a0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (expression_statement "pcVar11 = "%s: Cannot create file";" (assignment_expression "pcVar11 = "%s: Cannot create file"" identifier = (string_literal ""%s: Cannot create file"" " string_content ")) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) (labeled_statement "LAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" statement_identifier : (if_statement "if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" if (parenthesized_expression "(puVar13[0x20] != 0)" ( (binary_expression "puVar13[0x20] != 0" (subscript_expression "puVar13[0x20]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" { (expression_statement "puVar13[-2] = puVar13[0x21];" (assignment_expression "puVar13[-2] = puVar13[0x21]" (subscript_expression "puVar13[-2]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x21]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-3] = puVar13[0x22];" (assignment_expression "puVar13[-3] = puVar13[0x22]" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x22]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-4] = puVar13[9];" (assignment_expression "puVar13[-4] = puVar13[9]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[9]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23cda;" (assignment_expression "puVar13[-5] = 0x23cda" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0006a680();" (call_expression "FUN_0006a680()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "puVar13[-4] = puVar13[9];" (assignment_expression "puVar13[-4] = puVar13[9]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[9]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23b13;" (assignment_expression "puVar13[-5] = 0x23b13" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0006a6e0();" (call_expression "FUN_0006a6e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }" if (parenthesized_expression "(puVar13[6] == 0)" ( (binary_expression "puVar13[6] == 0" (subscript_expression "puVar13[6]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }" { (expression_statement "puVar13[-1] = 0x23b27;" (assignment_expression "puVar13[-1] = 0x23b27" (subscript_expression "puVar13[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00023580();" (call_expression "FUN_00023580()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-4] = puVar13[8];" (assignment_expression "puVar13[-4] = puVar13[8]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[8]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23b33;" (assignment_expression "puVar13[-5] = 0x23b33" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-4] = puVar13[0x1b];" (assignment_expression "puVar13[-4] = puVar13[0x1b]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1b]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23b3d;" (assignment_expression "puVar13[-5] = 0x23b3d" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (goto_statement "goto LAB_00023788;" goto statement_identifier ;) })) (expression_statement "pcVar11 = "%s: Write error";" (assignment_expression "pcVar11 = "%s: Write error"" identifier = (string_literal ""%s: Write error"" " string_content ")) ;) (expression_statement "uVar8 = puVar13[8];" (assignment_expression "uVar8 = puVar13[8]" identifier = (subscript_expression "puVar13[8]" identifier [ number_literal ])) ;) (expression_statement "puVar16 = puVar13 + -3;" (assignment_expression "puVar16 = puVar13 + -3" identifier = (binary_expression "puVar13 + -3" identifier + number_literal)) ;) (expression_statement "puVar13[-3] = uVar8;" (assignment_expression "puVar13[-3] = uVar8" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;" statement_identifier : (expression_statement "*(char **)((int)puVar16 + -4) = pcVar11;" (assignment_expression "*(char **)((int)puVar16 + -4) = pcVar11" (pointer_expression "*(char **)((int)puVar16 + -4)" * (cast_expression "(char **)((int)puVar16 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar16 + -4)" ( (binary_expression "(int)puVar16 + -4" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)puVar16 + -8) = 0x23c74;" (assignment_expression "*(undefined4 *)((int)puVar16 + -8) = 0x23c74" (pointer_expression "*(undefined4 *)((int)puVar16 + -8)" * (cast_expression "(undefined4 *)((int)puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + -8)" ( (binary_expression "(int)puVar16 + -8" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00020c10();" (call_expression "FUN_00020c10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar16 + -4) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar16 + -4) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar16 + -4)" * (cast_expression "(undefined4 *)((int)puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + -4)" ( (binary_expression "(int)puVar16 + -4" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar16 + -8) = 0x23c7c;" (assignment_expression "*(undefined4 *)((int)puVar16 + -8) = 0x23c7c" (pointer_expression "*(undefined4 *)((int)puVar16 + -8)" * (cast_expression "(undefined4 *)((int)puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + -8)" ( (binary_expression "(int)puVar16 + -8" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar12 = (undefined4 *)((int)puVar16 + 0xc);" (assignment_expression "puVar12 = (undefined4 *)((int)puVar16 + 0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0xc)" ( (binary_expression "(int)puVar16 + 0xc" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_00023788;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 sink(char *targ,char *src)\n\n{\n  int iVar1;\n  uint64 x;\n  uint64 x_00;\n  uint64 size;\n  uint64 y;\n  uint64 y_00;\n  uint64 done;\n  uint64 x_01;\n  uint64 x_02;\n  uint64 x_03;\n  uint64 x_04;\n  uint64 x_05;\n  uint64 x_06;\n  uint64 x_07;\n  uint64 y_01;\n  uint64 y_02;\n  uint64 y_03;\n  bool bVar2;\n  undefined *puVar3;\n  ulong uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  int iVar7;\n  char *pcVar8;\n  size_t sVar9;\n  char *__s2;\n  uint uVar10;\n  WFile *f;\n  ulong uVar11;\n  ulong uVar12;\n  ulong uVar13;\n  time_t tVar14;\n  int in_GS_OFFSET;\n  ulong local_80a0;\n  char *local_808c;\n  int local_8080;\n  ulong local_807c;\n  ulong local_8078;\n  ulong local_806c;\n  ulong local_8054;\n  ulong local_8050;\n  scp_sink_action act;\n  char transbuf [32768];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar7 = file_type(targ);\n  local_8080 = 1;\n  if ((iVar7 != 2) && (local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0)) {\n    bump("%s: Not a directory",targ);\n    local_8080 = 0;\n  }\n  if (using_sftp == 0) {\n    scp_sink_init();\n  }\n  puVar3 = PTR_stderr_000a8fa4;\n  bVar2 = false;\nLAB_00023788:\n  do {\n    iVar7 = scp_get_sink_action(&act);\n    if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;\n  } while (act.action == 4);\n  if (local_8080 == 0) {\n    local_808c = dupstr(targ);\n  }\n  else {\n    pcVar8 = stripslashes(act.name,1);\n    if (act.name != pcVar8) {\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }\n    sVar9 = strspn(pcVar8,".");\n    if (pcVar8[sVar9] == '\0') {\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }\n    if (src != (char *)0x0) {\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }\n    if (*targ == '\0') {\n      local_808c = dupstr(pcVar8);\n    }\n    else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }\n  }\n  uVar10 = file_type(local_808c);\n  if (act.action == 2) {\n    if ((uVar10 & 0xfffffffd) != 0) {\n      pcVar8 = "%s: Not a directory";\n      goto LAB_00023c6e;\n    }\n    if ((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)) {\n      sink(local_808c,(char *)0x0);\n      safefree(local_808c);\n      goto LAB_00023788;\n    }\n    pcVar8 = "%s: Cannot create directory";\n  }\n  else {\n    f = open_new_file(local_808c,act.permissions);\n    if (f != (WFile *)0x0) {\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    pcVar8 = "%s: Cannot create file";\n  }\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (act.settime != 0) {\n    set_file_times(f,act.mtime,act.atime);\n  }\n  close_wfile(f);\n  if (!bVar2) {\n    scp_finish_filerecv();\n    safefree(local_808c);\n    safefree(act.buf);\n    goto LAB_00023788;\n  }\n  pcVar8 = "%s: Write error";\nLAB_00023c6e:\n  run_err(pcVar8,local_808c);\n  safefree(local_808c);\n  goto LAB_00023788;\n}\n\n" comment (function_definition "void __regparm3 sink(char *targ,char *src)\n\n{\n  int iVar1;\n  uint64 x;\n  uint64 x_00;\n  uint64 size;\n  uint64 y;\n  uint64 y_00;\n  uint64 done;\n  uint64 x_01;\n  uint64 x_02;\n  uint64 x_03;\n  uint64 x_04;\n  uint64 x_05;\n  uint64 x_06;\n  uint64 x_07;\n  uint64 y_01;\n  uint64 y_02;\n  uint64 y_03;\n  bool bVar2;\n  undefined *puVar3;\n  ulong uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  int iVar7;\n  char *pcVar8;\n  size_t sVar9;\n  char *__s2;\n  uint uVar10;\n  WFile *f;\n  ulong uVar11;\n  ulong uVar12;\n  ulong uVar13;\n  time_t tVar14;\n  int in_GS_OFFSET;\n  ulong local_80a0;\n  char *local_808c;\n  int local_8080;\n  ulong local_807c;\n  ulong local_8078;\n  ulong local_806c;\n  ulong local_8054;\n  ulong local_8050;\n  scp_sink_action act;\n  char transbuf [32768];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar7 = file_type(targ);\n  local_8080 = 1;\n  if ((iVar7 != 2) && (local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0)) {\n    bump("%s: Not a directory",targ);\n    local_8080 = 0;\n  }\n  if (using_sftp == 0) {\n    scp_sink_init();\n  }\n  puVar3 = PTR_stderr_000a8fa4;\n  bVar2 = false;\nLAB_00023788:\n  do {\n    iVar7 = scp_get_sink_action(&act);\n    if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;\n  } while (act.action == 4);\n  if (local_8080 == 0) {\n    local_808c = dupstr(targ);\n  }\n  else {\n    pcVar8 = stripslashes(act.name,1);\n    if (act.name != pcVar8) {\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }\n    sVar9 = strspn(pcVar8,".");\n    if (pcVar8[sVar9] == '\0') {\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }\n    if (src != (char *)0x0) {\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }\n    if (*targ == '\0') {\n      local_808c = dupstr(pcVar8);\n    }\n    else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }\n  }\n  uVar10 = file_type(local_808c);\n  if (act.action == 2) {\n    if ((uVar10 & 0xfffffffd) != 0) {\n      pcVar8 = "%s: Not a directory";\n      goto LAB_00023c6e;\n    }\n    if ((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)) {\n      sink(local_808c,(char *)0x0);\n      safefree(local_808c);\n      goto LAB_00023788;\n    }\n    pcVar8 = "%s: Cannot create directory";\n  }\n  else {\n    f = open_new_file(local_808c,act.permissions);\n    if (f != (WFile *)0x0) {\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    pcVar8 = "%s: Cannot create file";\n  }\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (act.settime != 0) {\n    set_file_times(f,act.mtime,act.atime);\n  }\n  close_wfile(f);\n  if (!bVar2) {\n    scp_finish_filerecv();\n    safefree(local_808c);\n    safefree(act.buf);\n    goto LAB_00023788;\n  }\n  pcVar8 = "%s: Write error";\nLAB_00023c6e:\n  run_err(pcVar8,local_808c);\n  safefree(local_808c);\n  goto LAB_00023788;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "sink(char *targ,char *src)" identifier (parameter_list "(char *targ,char *src)" ( (parameter_declaration "char *targ" primitive_type (pointer_declarator "*targ" * identifier)) , (parameter_declaration "char *src" primitive_type (pointer_declarator "*src" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  uint64 x;\n  uint64 x_00;\n  uint64 size;\n  uint64 y;\n  uint64 y_00;\n  uint64 done;\n  uint64 x_01;\n  uint64 x_02;\n  uint64 x_03;\n  uint64 x_04;\n  uint64 x_05;\n  uint64 x_06;\n  uint64 x_07;\n  uint64 y_01;\n  uint64 y_02;\n  uint64 y_03;\n  bool bVar2;\n  undefined *puVar3;\n  ulong uVar4;\n  ulong uVar5;\n  ulong uVar6;\n  int iVar7;\n  char *pcVar8;\n  size_t sVar9;\n  char *__s2;\n  uint uVar10;\n  WFile *f;\n  ulong uVar11;\n  ulong uVar12;\n  ulong uVar13;\n  time_t tVar14;\n  int in_GS_OFFSET;\n  ulong local_80a0;\n  char *local_808c;\n  int local_8080;\n  ulong local_807c;\n  ulong local_8078;\n  ulong local_806c;\n  ulong local_8054;\n  ulong local_8050;\n  scp_sink_action act;\n  char transbuf [32768];\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  iVar7 = file_type(targ);\n  local_8080 = 1;\n  if ((iVar7 != 2) && (local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0)) {\n    bump("%s: Not a directory",targ);\n    local_8080 = 0;\n  }\n  if (using_sftp == 0) {\n    scp_sink_init();\n  }\n  puVar3 = PTR_stderr_000a8fa4;\n  bVar2 = false;\nLAB_00023788:\n  do {\n    iVar7 = scp_get_sink_action(&act);\n    if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;\n  } while (act.action == 4);\n  if (local_8080 == 0) {\n    local_808c = dupstr(targ);\n  }\n  else {\n    pcVar8 = stripslashes(act.name,1);\n    if (act.name != pcVar8) {\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }\n    sVar9 = strspn(pcVar8,".");\n    if (pcVar8[sVar9] == '\0') {\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }\n    if (src != (char *)0x0) {\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }\n    if (*targ == '\0') {\n      local_808c = dupstr(pcVar8);\n    }\n    else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }\n  }\n  uVar10 = file_type(local_808c);\n  if (act.action == 2) {\n    if ((uVar10 & 0xfffffffd) != 0) {\n      pcVar8 = "%s: Not a directory";\n      goto LAB_00023c6e;\n    }\n    if ((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)) {\n      sink(local_808c,(char *)0x0);\n      safefree(local_808c);\n      goto LAB_00023788;\n    }\n    pcVar8 = "%s: Cannot create directory";\n  }\n  else {\n    f = open_new_file(local_808c,act.permissions);\n    if (f != (WFile *)0x0) {\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    pcVar8 = "%s: Cannot create file";\n  }\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (act.settime != 0) {\n    set_file_times(f,act.mtime,act.atime);\n  }\n  close_wfile(f);\n  if (!bVar2) {\n    scp_finish_filerecv();\n    safefree(local_808c);\n    safefree(act.buf);\n    goto LAB_00023788;\n  }\n  pcVar8 = "%s: Write error";\nLAB_00023c6e:\n  run_err(pcVar8,local_808c);\n  safefree(local_808c);\n  goto LAB_00023788;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "uint64 x;" type_identifier identifier ;) (declaration "uint64 x_00;" type_identifier identifier ;) (declaration "uint64 size;" type_identifier identifier ;) (declaration "uint64 y;" type_identifier identifier ;) (declaration "uint64 y_00;" type_identifier identifier ;) (declaration "uint64 done;" type_identifier identifier ;) (declaration "uint64 x_01;" type_identifier identifier ;) (declaration "uint64 x_02;" type_identifier identifier ;) (declaration "uint64 x_03;" type_identifier identifier ;) (declaration "uint64 x_04;" type_identifier identifier ;) (declaration "uint64 x_05;" type_identifier identifier ;) (declaration "uint64 x_06;" type_identifier identifier ;) (declaration "uint64 x_07;" type_identifier identifier ;) (declaration "uint64 y_01;" type_identifier identifier ;) (declaration "uint64 y_02;" type_identifier identifier ;) (declaration "uint64 y_03;" type_identifier identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "ulong uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "size_t sVar9;" primitive_type identifier ;) (declaration "char *__s2;" primitive_type (pointer_declarator "*__s2" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "WFile *f;" type_identifier (pointer_declarator "*f" * identifier) ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "ulong uVar12;" type_identifier identifier ;) (declaration "ulong uVar13;" type_identifier identifier ;) (declaration "time_t tVar14;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "ulong local_80a0;" type_identifier identifier ;) (declaration "char *local_808c;" primitive_type (pointer_declarator "*local_808c" * identifier) ;) (declaration "int local_8080;" primitive_type identifier ;) (declaration "ulong local_807c;" type_identifier identifier ;) (declaration "ulong local_8078;" type_identifier identifier ;) (declaration "ulong local_806c;" type_identifier identifier ;) (declaration "ulong local_8054;" type_identifier identifier ;) (declaration "ulong local_8050;" type_identifier identifier ;) (declaration "scp_sink_action act;" type_identifier identifier ;) (declaration "char transbuf [32768];" primitive_type (array_declarator "transbuf [32768]" identifier [ number_literal ]) ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(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 "iVar7 = file_type(targ);" (assignment_expression "iVar7 = file_type(targ)" identifier = (call_expression "file_type(targ)" identifier (argument_list "(targ)" ( identifier )))) ;) (expression_statement "local_8080 = 1;" (assignment_expression "local_8080 = 1" identifier = number_literal) ;) (if_statement "if ((iVar7 != 2) && (local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0)) {\n    bump("%s: Not a directory",targ);\n    local_8080 = 0;\n  }" if (parenthesized_expression "((iVar7 != 2) && (local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0))" ( (binary_expression "(iVar7 != 2) && (local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0)" (parenthesized_expression "(iVar7 != 2)" ( (binary_expression "iVar7 != 2" identifier != number_literal) )) && (parenthesized_expression "(local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0)" ( (comma_expression "local_8080 = targetshouldbedirectory, targetshouldbedirectory != 0" (assignment_expression "local_8080 = targetshouldbedirectory" identifier = identifier) , (binary_expression "targetshouldbedirectory != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    bump("%s: Not a directory",targ);\n    local_8080 = 0;\n  }" { (expression_statement "bump("%s: Not a directory",targ);" (call_expression "bump("%s: Not a directory",targ)" identifier (argument_list "("%s: Not a directory",targ)" ( (string_literal ""%s: Not a directory"" " string_content ") , identifier ))) ;) (expression_statement "local_8080 = 0;" (assignment_expression "local_8080 = 0" identifier = number_literal) ;) })) (if_statement "if (using_sftp == 0) {\n    scp_sink_init();\n  }" if (parenthesized_expression "(using_sftp == 0)" ( (binary_expression "using_sftp == 0" identifier == number_literal) )) (compound_statement "{\n    scp_sink_init();\n  }" { (expression_statement "scp_sink_init();" (call_expression "scp_sink_init()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar3 = PTR_stderr_000a8fa4;" (assignment_expression "puVar3 = PTR_stderr_000a8fa4" identifier = identifier) ;) (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (labeled_statement "LAB_00023788:\n  do {\n    iVar7 = scp_get_sink_action(&act);\n    if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;\n  } while (act.action == 4);" statement_identifier : (do_statement "do {\n    iVar7 = scp_get_sink_action(&act);\n    if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;\n  } while (act.action == 4);" do (compound_statement "{\n    iVar7 = scp_get_sink_action(&act);\n    if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;\n  }" { (expression_statement "iVar7 = scp_get_sink_action(&act);" (assignment_expression "iVar7 = scp_get_sink_action(&act)" identifier = (call_expression "scp_get_sink_action(&act)" identifier (argument_list "(&act)" ( (pointer_expression "&act" & identifier) )))) ;) (if_statement "if ((iVar7 != 0) || (act.action == 3)) goto LAB_00023c40;" if (parenthesized_expression "((iVar7 != 0) || (act.action == 3))" ( (binary_expression "(iVar7 != 0) || (act.action == 3)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) || (parenthesized_expression "(act.action == 3)" ( (binary_expression "act.action == 3" (field_expression "act.action" identifier . field_identifier) == number_literal) ))) )) (goto_statement "goto LAB_00023c40;" goto statement_identifier ;)) }) while (parenthesized_expression "(act.action == 4)" ( (binary_expression "act.action == 4" (field_expression "act.action" identifier . field_identifier) == number_literal) )) ;)) (if_statement "if (local_8080 == 0) {\n    local_808c = dupstr(targ);\n  }\n  else {\n    pcVar8 = stripslashes(act.name,1);\n    if (act.name != pcVar8) {\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }\n    sVar9 = strspn(pcVar8,".");\n    if (pcVar8[sVar9] == '\0') {\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }\n    if (src != (char *)0x0) {\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }\n    if (*targ == '\0') {\n      local_808c = dupstr(pcVar8);\n    }\n    else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }\n  }" if (parenthesized_expression "(local_8080 == 0)" ( (binary_expression "local_8080 == 0" identifier == number_literal) )) (compound_statement "{\n    local_808c = dupstr(targ);\n  }" { (expression_statement "local_808c = dupstr(targ);" (assignment_expression "local_808c = dupstr(targ)" identifier = (call_expression "dupstr(targ)" identifier (argument_list "(targ)" ( identifier )))) ;) }) (else_clause "else {\n    pcVar8 = stripslashes(act.name,1);\n    if (act.name != pcVar8) {\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }\n    sVar9 = strspn(pcVar8,".");\n    if (pcVar8[sVar9] == '\0') {\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }\n    if (src != (char *)0x0) {\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }\n    if (*targ == '\0') {\n      local_808c = dupstr(pcVar8);\n    }\n    else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }\n  }" else (compound_statement "{\n    pcVar8 = stripslashes(act.name,1);\n    if (act.name != pcVar8) {\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }\n    sVar9 = strspn(pcVar8,".");\n    if (pcVar8[sVar9] == '\0') {\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }\n    if (src != (char *)0x0) {\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }\n    if (*targ == '\0') {\n      local_808c = dupstr(pcVar8);\n    }\n    else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }\n  }" { (expression_statement "pcVar8 = stripslashes(act.name,1);" (assignment_expression "pcVar8 = stripslashes(act.name,1)" identifier = (call_expression "stripslashes(act.name,1)" identifier (argument_list "(act.name,1)" ( (field_expression "act.name" identifier . field_identifier) , number_literal )))) ;) (if_statement "if (act.name != pcVar8) {\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }" if (parenthesized_expression "(act.name != pcVar8)" ( (binary_expression "act.name != pcVar8" (field_expression "act.name" identifier . field_identifier) != identifier) )) (compound_statement "{\n      tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);\n      tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);\n    }" { (expression_statement "tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);" (call_expression "tell_user(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name)" identifier (argument_list "(*(FILE **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name)" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""warning: remote host sent a compound pathname \'%s\'"" " string_content escape_sequence string_content escape_sequence ") , (field_expression "act.name" identifier . field_identifier) ))) ;) (expression_statement "tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8);" (call_expression "tell_user(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8)" identifier (argument_list "(*(FILE **)puVar3,"         renaming local file to \'%s\'",pcVar8)" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""         renaming local file to \'%s\'"" " string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) })) (expression_statement "sVar9 = strspn(pcVar8,".");" (assignment_expression "sVar9 = strspn(pcVar8,".")" identifier = (call_expression "strspn(pcVar8,".")" identifier (argument_list "(pcVar8,".")" ( identifier , (string_literal ""."" " string_content ") )))) ;) (if_statement "if (pcVar8[sVar9] == '\0') {\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }" if (parenthesized_expression "(pcVar8[sVar9] == '\0')" ( (binary_expression "pcVar8[sVar9] == '\0'" (subscript_expression "pcVar8[sVar9]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");\n    }" { (expression_statement "bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!");" (call_expression "bump("security violation: remote host attempted to write to a \'.\' or \'..\' path!")" identifier (argument_list "("security violation: remote host attempted to write to a \'.\' or \'..\' path!")" ( (string_literal ""security violation: remote host attempted to write to a \'.\' or \'..\' path!"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ") ))) ;) })) (if_statement "if (src != (char *)0x0) {\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }" if (parenthesized_expression "(src != (char *)0x0)" ( (binary_expression "src != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      __s2 = stripslashes(src,1);\n      iVar7 = strcmp(pcVar8,__s2);\n      if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }\n    }" { (expression_statement "__s2 = stripslashes(src,1);" (assignment_expression "__s2 = stripslashes(src,1)" identifier = (call_expression "stripslashes(src,1)" identifier (argument_list "(src,1)" ( identifier , number_literal )))) ;) (expression_statement "iVar7 = strcmp(pcVar8,__s2);" (assignment_expression "iVar7 = strcmp(pcVar8,__s2)" identifier = (call_expression "strcmp(pcVar8,__s2)" identifier (argument_list "(pcVar8,__s2)" ( identifier , identifier )))) ;) (if_statement "if ((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)) {\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }" if (parenthesized_expression "((iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0))" ( (binary_expression "(iVar7 != 0) && (using_sftp == 0 && scp_unsafe_mode == 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(using_sftp == 0 && scp_unsafe_mode == 0)" ( (binary_expression "using_sftp == 0 && scp_unsafe_mode == 0" (binary_expression "using_sftp == 0" identifier == number_literal) && (binary_expression "scp_unsafe_mode == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);\n        tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);\n        tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");\n        tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");\n        pcVar8 = __s2;\n      }" { (expression_statement "tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8);" (call_expression "tell_user(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8)" identifier (argument_list "(*(FILE **)puVar3,"warning: remote host tried to write to a file called \'%s\'",\n                  pcVar8)" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""warning: remote host tried to write to a file called \'%s\'"" " string_content escape_sequence string_content escape_sequence ") , identifier ))) ;) (expression_statement "tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2);" (call_expression "tell_user(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2)" identifier (argument_list "(*(FILE **)puVar3,"         when we requested a file called \'%s\'.",__s2)" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""         when we requested a file called \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content ") , identifier ))) ;) (expression_statement "tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using");" (call_expression "tell_user(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using")" identifier (argument_list "(*(FILE **)puVar3,\n                  "         If this is a wildcard, consider upgrading to SSH-2 or using")" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""         If this is a wildcard, consider upgrading to SSH-2 or using"" " string_content ") ))) ;) (expression_statement "tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");" (call_expression "tell_user(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.")" identifier (argument_list "(*(FILE **)puVar3,\n                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.")" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""         the \'-unsafe\' option. Renaming of this file has been disallowed."" " string_content escape_sequence string_content escape_sequence string_content ") ))) ;) (expression_statement "pcVar8 = __s2;" (assignment_expression "pcVar8 = __s2" identifier = identifier) ;) })) })) (if_statement "if (*targ == '\0') {\n      local_808c = dupstr(pcVar8);\n    }\n    else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }" if (parenthesized_expression "(*targ == '\0')" ( (binary_expression "*targ == '\0'" (pointer_expression "*targ" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      local_808c = dupstr(pcVar8);\n    }" { (expression_statement "local_808c = dupstr(pcVar8);" (assignment_expression "local_808c = dupstr(pcVar8)" identifier = (call_expression "dupstr(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) }) (else_clause "else {\n      local_808c = dir_file_cat(targ,pcVar8);\n    }" else (compound_statement "{\n      local_808c = dir_file_cat(targ,pcVar8);\n    }" { (expression_statement "local_808c = dir_file_cat(targ,pcVar8);" (assignment_expression "local_808c = dir_file_cat(targ,pcVar8)" identifier = (call_expression "dir_file_cat(targ,pcVar8)" identifier (argument_list "(targ,pcVar8)" ( identifier , identifier )))) ;) }))) }))) (expression_statement "uVar10 = file_type(local_808c);" (assignment_expression "uVar10 = file_type(local_808c)" identifier = (call_expression "file_type(local_808c)" identifier (argument_list "(local_808c)" ( identifier )))) ;) (if_statement "if (act.action == 2) {\n    if ((uVar10 & 0xfffffffd) != 0) {\n      pcVar8 = "%s: Not a directory";\n      goto LAB_00023c6e;\n    }\n    if ((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)) {\n      sink(local_808c,(char *)0x0);\n      safefree(local_808c);\n      goto LAB_00023788;\n    }\n    pcVar8 = "%s: Cannot create directory";\n  }\n  else {\n    f = open_new_file(local_808c,act.permissions);\n    if (f != (WFile *)0x0) {\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    pcVar8 = "%s: Cannot create file";\n  }" if (parenthesized_expression "(act.action == 2)" ( (binary_expression "act.action == 2" (field_expression "act.action" identifier . field_identifier) == number_literal) )) (compound_statement "{\n    if ((uVar10 & 0xfffffffd) != 0) {\n      pcVar8 = "%s: Not a directory";\n      goto LAB_00023c6e;\n    }\n    if ((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)) {\n      sink(local_808c,(char *)0x0);\n      safefree(local_808c);\n      goto LAB_00023788;\n    }\n    pcVar8 = "%s: Cannot create directory";\n  }" { (if_statement "if ((uVar10 & 0xfffffffd) != 0) {\n      pcVar8 = "%s: Not a directory";\n      goto LAB_00023c6e;\n    }" if (parenthesized_expression "((uVar10 & 0xfffffffd) != 0)" ( (binary_expression "(uVar10 & 0xfffffffd) != 0" (parenthesized_expression "(uVar10 & 0xfffffffd)" ( (binary_expression "uVar10 & 0xfffffffd" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      pcVar8 = "%s: Not a directory";\n      goto LAB_00023c6e;\n    }" { (expression_statement "pcVar8 = "%s: Not a directory";" (assignment_expression "pcVar8 = "%s: Not a directory"" identifier = (string_literal ""%s: Not a directory"" " string_content ")) ;) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) })) (if_statement "if ((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)) {\n      sink(local_808c,(char *)0x0);\n      safefree(local_808c);\n      goto LAB_00023788;\n    }" if (parenthesized_expression "((uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0))" ( (binary_expression "(uVar10 != 0) || (iVar7 = create_directory(local_808c), iVar7 != 0)" (parenthesized_expression "(uVar10 != 0)" ( (binary_expression "uVar10 != 0" identifier != number_literal) )) || (parenthesized_expression "(iVar7 = create_directory(local_808c), iVar7 != 0)" ( (comma_expression "iVar7 = create_directory(local_808c), iVar7 != 0" (assignment_expression "iVar7 = create_directory(local_808c)" identifier = (call_expression "create_directory(local_808c)" identifier (argument_list "(local_808c)" ( identifier )))) , (binary_expression "iVar7 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n      sink(local_808c,(char *)0x0);\n      safefree(local_808c);\n      goto LAB_00023788;\n    }" { (expression_statement "sink(local_808c,(char *)0x0);" (call_expression "sink(local_808c,(char *)0x0)" identifier (argument_list "(local_808c,(char *)0x0)" ( identifier , (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ))) ;) (expression_statement "safefree(local_808c);" (call_expression "safefree(local_808c)" identifier (argument_list "(local_808c)" ( identifier ))) ;) (goto_statement "goto LAB_00023788;" goto statement_identifier ;) })) (expression_statement "pcVar8 = "%s: Cannot create directory";" (assignment_expression "pcVar8 = "%s: Cannot create directory"" identifier = (string_literal ""%s: Cannot create directory"" " string_content ")) ;) }) (else_clause "else {\n    f = open_new_file(local_808c,act.permissions);\n    if (f != (WFile *)0x0) {\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    pcVar8 = "%s: Cannot create file";\n  }" else (compound_statement "{\n    f = open_new_file(local_808c,act.permissions);\n    if (f != (WFile *)0x0) {\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }\n    pcVar8 = "%s: Cannot create file";\n  }" { (expression_statement "f = open_new_file(local_808c,act.permissions);" (assignment_expression "f = open_new_file(local_808c,act.permissions)" identifier = (call_expression "open_new_file(local_808c,act.permissions)" identifier (argument_list "(local_808c,act.permissions)" ( identifier , (field_expression "act.permissions" identifier . field_identifier) )))) ;) (if_statement "if (f != (WFile *)0x0) {\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }" if (parenthesized_expression "(f != (WFile *)0x0)" ( (binary_expression "f != (WFile *)0x0" identifier != (cast_expression "(WFile *)0x0" ( (type_descriptor "WFile *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      iVar7 = scp_accept_filexfer();\n      if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }\n      safefree(local_808c);\n      close_wfile(f);\nLAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }\n      return;\n    }" { (expression_statement "iVar7 = scp_accept_filexfer();" (assignment_expression "iVar7 = scp_accept_filexfer()" identifier = (call_expression "scp_accept_filexfer()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar7 == 0) {\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uint64_make(0,0);\n        local_807c = local_8054;\n        local_8078 = local_8050;\n        uVar11 = time((time_t *)0x0);\n        pcVar8 = stripslashes(local_808c,1);\n        uint64_make(0,0);\n        local_806c = 0;\nLAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );\n      }" { (expression_statement "uint64_make(0,0);" (call_expression "uint64_make(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal ))) ;) (expression_statement "local_807c = local_8054;" (assignment_expression "local_807c = local_8054" identifier = identifier) ;) (expression_statement "local_8078 = local_8050;" (assignment_expression "local_8078 = local_8050" identifier = identifier) ;) (expression_statement "uVar11 = time((time_t *)0x0);" (assignment_expression "uVar11 = time((time_t *)0x0)" identifier = (call_expression "time((time_t *)0x0)" identifier (argument_list "((time_t *)0x0)" ( (cast_expression "(time_t *)0x0" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "pcVar8 = stripslashes(local_808c,1);" (assignment_expression "pcVar8 = stripslashes(local_808c,1)" identifier = (call_expression "stripslashes(local_808c,1)" identifier (argument_list "(local_808c,1)" ( identifier , number_literal )))) ;) (expression_statement "uint64_make(0,0);" (call_expression "uint64_make(0,0)" identifier (argument_list "(0,0)" ( number_literal , number_literal ))) ;) (expression_statement "local_806c = 0;" (assignment_expression "local_806c = 0" identifier = number_literal) ;) (labeled_statement "LAB_000239a0:\n        do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );" statement_identifier : (do_statement "do {\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        } while( true );" do (compound_statement "{\n          uVar5 = local_8050;\n          uVar4 = local_8054;\n          x_01.lo = local_8050;\n          x_01.hi = local_8054;\n          y_01.lo = act.size.lo;\n          y_01.hi = act.size.hi;\n          iVar7 = uint64_compare(x_01,y_01);\n          if (-1 < iVar7) goto LAB_00023af8;\n          uint64_make(0,0x8000);\n          uVar13 = local_8050;\n          uVar12 = local_8054;\n          local_80a0 = local_8050;\n          x.lo = act.size.hi;\n          x.hi = (ulong)&local_8054;\n          y.lo = uVar4;\n          y.hi = act.size.lo;\n          uint64_subtract(x,y);\n          x_02.lo = uVar13;\n          x_02.hi = uVar12;\n          y_02.lo = local_8050;\n          y_02.hi = local_8054;\n          iVar7 = uint64_compare(x_02,y_02);\n          if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }\n          uVar12 = scp_recv_filedata(transbuf,local_80a0);\n          if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }\n          if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }\n          x_04.lo = uVar5;\n          x_04.hi = uVar4;\n          uint64_add32(x_04,uVar12);\n          bVar2 = true;\n        }" { (expression_statement "uVar5 = local_8050;" (assignment_expression "uVar5 = local_8050" identifier = identifier) ;) (expression_statement "uVar4 = local_8054;" (assignment_expression "uVar4 = local_8054" identifier = identifier) ;) (expression_statement "x_01.lo = local_8050;" (assignment_expression "x_01.lo = local_8050" (field_expression "x_01.lo" identifier . field_identifier) = identifier) ;) (expression_statement "x_01.hi = local_8054;" (assignment_expression "x_01.hi = local_8054" (field_expression "x_01.hi" identifier . field_identifier) = identifier) ;) (expression_statement "y_01.lo = act.size.lo;" (assignment_expression "y_01.lo = act.size.lo" (field_expression "y_01.lo" identifier . field_identifier) = (field_expression "act.size.lo" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "y_01.hi = act.size.hi;" (assignment_expression "y_01.hi = act.size.hi" (field_expression "y_01.hi" identifier . field_identifier) = (field_expression "act.size.hi" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "iVar7 = uint64_compare(x_01,y_01);" (assignment_expression "iVar7 = uint64_compare(x_01,y_01)" identifier = (call_expression "uint64_compare(x_01,y_01)" identifier (argument_list "(x_01,y_01)" ( identifier , identifier )))) ;) (if_statement "if (-1 < iVar7) goto LAB_00023af8;" if (parenthesized_expression "(-1 < iVar7)" ( (binary_expression "-1 < iVar7" number_literal < identifier) )) (goto_statement "goto LAB_00023af8;" goto statement_identifier ;)) (expression_statement "uint64_make(0,0x8000);" (call_expression "uint64_make(0,0x8000)" identifier (argument_list "(0,0x8000)" ( number_literal , number_literal ))) ;) (expression_statement "uVar13 = local_8050;" (assignment_expression "uVar13 = local_8050" identifier = identifier) ;) (expression_statement "uVar12 = local_8054;" (assignment_expression "uVar12 = local_8054" identifier = identifier) ;) (expression_statement "local_80a0 = local_8050;" (assignment_expression "local_80a0 = local_8050" identifier = identifier) ;) (expression_statement "x.lo = act.size.hi;" (assignment_expression "x.lo = act.size.hi" (field_expression "x.lo" identifier . field_identifier) = (field_expression "act.size.hi" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "x.hi = (ulong)&local_8054;" (assignment_expression "x.hi = (ulong)&local_8054" (field_expression "x.hi" identifier . field_identifier) = (binary_expression "(ulong)&local_8054" (parenthesized_expression "(ulong)" ( identifier )) & identifier)) ;) (expression_statement "y.lo = uVar4;" (assignment_expression "y.lo = uVar4" (field_expression "y.lo" identifier . field_identifier) = identifier) ;) (expression_statement "y.hi = act.size.lo;" (assignment_expression "y.hi = act.size.lo" (field_expression "y.hi" identifier . field_identifier) = (field_expression "act.size.lo" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uint64_subtract(x,y);" (call_expression "uint64_subtract(x,y)" identifier (argument_list "(x,y)" ( identifier , identifier ))) ;) (expression_statement "x_02.lo = uVar13;" (assignment_expression "x_02.lo = uVar13" (field_expression "x_02.lo" identifier . field_identifier) = identifier) ;) (expression_statement "x_02.hi = uVar12;" (assignment_expression "x_02.hi = uVar12" (field_expression "x_02.hi" identifier . field_identifier) = identifier) ;) (expression_statement "y_02.lo = local_8050;" (assignment_expression "y_02.lo = local_8050" (field_expression "y_02.lo" identifier . field_identifier) = identifier) ;) (expression_statement "y_02.hi = local_8054;" (assignment_expression "y_02.hi = local_8054" (field_expression "y_02.hi" identifier . field_identifier) = identifier) ;) (expression_statement "iVar7 = uint64_compare(x_02,y_02);" (assignment_expression "iVar7 = uint64_compare(x_02,y_02)" identifier = (call_expression "uint64_compare(x_02,y_02)" identifier (argument_list "(x_02,y_02)" ( identifier , identifier )))) ;) (if_statement "if (0 < iVar7) {\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n            x_00.lo = act.size.hi;\n            x_00.hi = (ulong)&local_8054;\n            y_00.lo = uVar4;\n            y_00.hi = act.size.lo;\n            uint64_subtract(x_00,y_00);\n            local_80a0 = local_8050;\n          }" { (expression_statement "x_00.lo = act.size.hi;" (assignment_expression "x_00.lo = act.size.hi" (field_expression "x_00.lo" identifier . field_identifier) = (field_expression "act.size.hi" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "x_00.hi = (ulong)&local_8054;" (assignment_expression "x_00.hi = (ulong)&local_8054" (field_expression "x_00.hi" identifier . field_identifier) = (binary_expression "(ulong)&local_8054" (parenthesized_expression "(ulong)" ( identifier )) & identifier)) ;) (expression_statement "y_00.lo = uVar4;" (assignment_expression "y_00.lo = uVar4" (field_expression "y_00.lo" identifier . field_identifier) = identifier) ;) (expression_statement "y_00.hi = act.size.lo;" (assignment_expression "y_00.hi = act.size.lo" (field_expression "y_00.hi" identifier . field_identifier) = (field_expression "act.size.lo" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "uint64_subtract(x_00,y_00);" (call_expression "uint64_subtract(x_00,y_00)" identifier (argument_list "(x_00,y_00)" ( identifier , identifier ))) ;) (expression_statement "local_80a0 = local_8050;" (assignment_expression "local_80a0 = local_8050" identifier = identifier) ;) })) (expression_statement "uVar12 = scp_recv_filedata(transbuf,local_80a0);" (assignment_expression "uVar12 = scp_recv_filedata(transbuf,local_80a0)" identifier = (call_expression "scp_recv_filedata(transbuf,local_80a0)" identifier (argument_list "(transbuf,local_80a0)" ( identifier , identifier )))) ;) (if_statement "if ((int)uVar12 < 1) {\n            bump("Lost connection");\n          }" if (parenthesized_expression "((int)uVar12 < 1)" ( (binary_expression "(int)uVar12 < 1" (cast_expression "(int)uVar12" ( (type_descriptor "int" primitive_type) ) identifier) < number_literal) )) (compound_statement "{\n            bump("Lost connection");\n          }" { (expression_statement "bump("Lost connection");" (call_expression "bump("Lost connection")" identifier (argument_list "("Lost connection")" ( (string_literal ""Lost connection"" " string_content ") ))) ;) })) (if_statement "if (!bVar2) {\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n            uVar13 = write_to_file(f,transbuf,uVar12);\n            if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }\n            if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }\n          }" { (expression_statement "uVar13 = write_to_file(f,transbuf,uVar12);" (assignment_expression "uVar13 = write_to_file(f,transbuf,uVar12)" identifier = (call_expression "write_to_file(f,transbuf,uVar12)" identifier (argument_list "(f,transbuf,uVar12)" ( identifier , identifier , identifier )))) ;) (if_statement "if (uVar13 == uVar12) {\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }" if (parenthesized_expression "(uVar13 == uVar12)" ( (binary_expression "uVar13 == uVar12" identifier == identifier) )) (compound_statement "{\n              if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }\nLAB_00023abe:\n              x_05.lo = uVar5;\n              x_05.hi = uVar4;\n              uint64_add32(x_05,uVar12);\n              goto LAB_000239a0;\n            }" { (if_statement "if (statistics != 0) {\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }" if (parenthesized_expression "(statistics != 0)" ( (binary_expression "statistics != 0" identifier != number_literal) )) (compound_statement "{\n                x_06.lo = local_8078;\n                x_06.hi = local_807c;\n                uint64_add32(x_06,uVar12);\n                uVar6 = local_8050;\n                uVar13 = local_8054;\n                local_807c = local_8054;\n                local_8078 = local_8050;\n                tVar14 = time((time_t *)0x0);\n                if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }\n                local_806c = time((time_t *)0x0);\n                size.lo = uVar6;\n                size.hi = uVar13;\n                done.lo = local_806c;\n                done.hi = uVar11;\n                print_stats(pcVar8,size,done,act.size.hi,act.size.lo);\n              }" { (expression_statement "x_06.lo = local_8078;" (assignment_expression "x_06.lo = local_8078" (field_expression "x_06.lo" identifier . field_identifier) = identifier) ;) (expression_statement "x_06.hi = local_807c;" (assignment_expression "x_06.hi = local_807c" (field_expression "x_06.hi" identifier . field_identifier) = identifier) ;) (expression_statement "uint64_add32(x_06,uVar12);" (call_expression "uint64_add32(x_06,uVar12)" identifier (argument_list "(x_06,uVar12)" ( identifier , identifier ))) ;) (expression_statement "uVar6 = local_8050;" (assignment_expression "uVar6 = local_8050" identifier = identifier) ;) (expression_statement "uVar13 = local_8054;" (assignment_expression "uVar13 = local_8054" identifier = identifier) ;) (expression_statement "local_807c = local_8054;" (assignment_expression "local_807c = local_8054" identifier = identifier) ;) (expression_statement "local_8078 = local_8050;" (assignment_expression "local_8078 = local_8050" identifier = identifier) ;) (expression_statement "tVar14 = time((time_t *)0x0);" (assignment_expression "tVar14 = time((time_t *)0x0)" identifier = (call_expression "time((time_t *)0x0)" identifier (argument_list "((time_t *)0x0)" ( (cast_expression "(time_t *)0x0" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (if_statement "if (tVar14 <= (int)local_806c) {\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }" if (parenthesized_expression "(tVar14 <= (int)local_806c)" ( (binary_expression "tVar14 <= (int)local_806c" identifier <= (cast_expression "(int)local_806c" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n                  x_07.lo = uVar5;\n                  x_07.hi = uVar4;\n                  uint64_add32(x_07,uVar12);\n                  x_03.lo = local_8050;\n                  x_03.hi = local_8054;\n                  y_03.lo = act.size.lo;\n                  y_03.hi = act.size.hi;\n                  iVar7 = uint64_compare(x_03,y_03);\n                  if (iVar7 != 0) goto LAB_00023abe;\n                }" { (expression_statement "x_07.lo = uVar5;" (assignment_expression "x_07.lo = uVar5" (field_expression "x_07.lo" identifier . field_identifier) = identifier) ;) (expression_statement "x_07.hi = uVar4;" (assignment_expression "x_07.hi = uVar4" (field_expression "x_07.hi" identifier . field_identifier) = identifier) ;) (expression_statement "uint64_add32(x_07,uVar12);" (call_expression "uint64_add32(x_07,uVar12)" identifier (argument_list "(x_07,uVar12)" ( identifier , identifier ))) ;) (expression_statement "x_03.lo = local_8050;" (assignment_expression "x_03.lo = local_8050" (field_expression "x_03.lo" identifier . field_identifier) = identifier) ;) (expression_statement "x_03.hi = local_8054;" (assignment_expression "x_03.hi = local_8054" (field_expression "x_03.hi" identifier . field_identifier) = identifier) ;) (expression_statement "y_03.lo = act.size.lo;" (assignment_expression "y_03.lo = act.size.lo" (field_expression "y_03.lo" identifier . field_identifier) = (field_expression "act.size.lo" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "y_03.hi = act.size.hi;" (assignment_expression "y_03.hi = act.size.hi" (field_expression "y_03.hi" identifier . field_identifier) = (field_expression "act.size.hi" (field_expression "act.size" identifier . field_identifier) . field_identifier)) ;) (expression_statement "iVar7 = uint64_compare(x_03,y_03);" (assignment_expression "iVar7 = uint64_compare(x_03,y_03)" identifier = (call_expression "uint64_compare(x_03,y_03)" identifier (argument_list "(x_03,y_03)" ( identifier , identifier )))) ;) (if_statement "if (iVar7 != 0) goto LAB_00023abe;" if (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00023abe;" goto statement_identifier ;)) })) (expression_statement "local_806c = time((time_t *)0x0);" (assignment_expression "local_806c = time((time_t *)0x0)" identifier = (call_expression "time((time_t *)0x0)" identifier (argument_list "((time_t *)0x0)" ( (cast_expression "(time_t *)0x0" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) )))) ;) (expression_statement "size.lo = uVar6;" (assignment_expression "size.lo = uVar6" (field_expression "size.lo" identifier . field_identifier) = identifier) ;) (expression_statement "size.hi = uVar13;" (assignment_expression "size.hi = uVar13" (field_expression "size.hi" identifier . field_identifier) = identifier) ;) (expression_statement "done.lo = local_806c;" (assignment_expression "done.lo = local_806c" (field_expression "done.lo" identifier . field_identifier) = identifier) ;) (expression_statement "done.hi = uVar11;" (assignment_expression "done.hi = uVar11" (field_expression "done.hi" identifier . field_identifier) = identifier) ;) (expression_statement "print_stats(pcVar8,size,done,act.size.hi,act.size.lo);" (call_expression "print_stats(pcVar8,size,done,act.size.hi,act.size.lo)" identifier (argument_list "(pcVar8,size,done,act.size.hi,act.size.lo)" ( identifier , identifier , identifier , (field_expression "act.size.hi" (field_expression "act.size" identifier . field_identifier) . field_identifier) , (field_expression "act.size.lo" (field_expression "act.size" identifier . field_identifier) . field_identifier) ))) ;) })) (labeled_statement "LAB_00023abe:\n              x_05.lo = uVar5;" statement_identifier : (expression_statement "x_05.lo = uVar5;" (assignment_expression "x_05.lo = uVar5" (field_expression "x_05.lo" identifier . field_identifier) = identifier) ;)) (expression_statement "x_05.hi = uVar4;" (assignment_expression "x_05.hi = uVar4" (field_expression "x_05.hi" identifier . field_identifier) = identifier) ;) (expression_statement "uint64_add32(x_05,uVar12);" (call_expression "uint64_add32(x_05,uVar12)" identifier (argument_list "(x_05,uVar12)" ( identifier , identifier ))) ;) (goto_statement "goto LAB_000239a0;" goto statement_identifier ;) })) (if_statement "if (statistics != 0) {\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }" if (parenthesized_expression "(statistics != 0)" ( (binary_expression "statistics != 0" identifier != number_literal) )) (compound_statement "{\n              __printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");\n            }" { (expression_statement "__printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file");" (call_expression "__printf_chk(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file")" identifier (argument_list "(1,"\r%-25.25s | %50s\n",pcVar8,"Write error.. waiting for end of file")" ( number_literal , (string_literal ""\r%-25.25s | %50s\n"" " escape_sequence string_content escape_sequence ") , identifier , (string_literal ""Write error.. waiting for end of file"" " string_content ") ))) ;) })) })) (expression_statement "x_04.lo = uVar5;" (assignment_expression "x_04.lo = uVar5" (field_expression "x_04.lo" identifier . field_identifier) = identifier) ;) (expression_statement "x_04.hi = uVar4;" (assignment_expression "x_04.hi = uVar4" (field_expression "x_04.hi" identifier . field_identifier) = identifier) ;) (expression_statement "uint64_add32(x_04,uVar12);" (call_expression "uint64_add32(x_04,uVar12)" identifier (argument_list "(x_04,uVar12)" ( identifier , identifier ))) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "safefree(local_808c);" (call_expression "safefree(local_808c)" identifier (argument_list "(local_808c)" ( identifier ))) ;) (expression_statement "close_wfile(f);" (call_expression "close_wfile(f)" identifier (argument_list "(f)" ( identifier ))) ;) (labeled_statement "LAB_00023c40:\n      if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }" statement_identifier : (if_statement "if (iVar1 != *(int *)(in_GS_OFFSET + 0x14)) {\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }" if (parenthesized_expression "(iVar1 != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 != *(int *)(in_GS_OFFSET + 0x14)" identifier != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        __stack_chk_fail_local();\n      }" { comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (expression_statement "pcVar8 = "%s: Cannot create file";" (assignment_expression "pcVar8 = "%s: Cannot create file"" identifier = (string_literal ""%s: Cannot create file"" " string_content ")) ;) }))) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) (labeled_statement "LAB_00023af8:\n  if (act.settime != 0) {\n    set_file_times(f,act.mtime,act.atime);\n  }" statement_identifier : (if_statement "if (act.settime != 0) {\n    set_file_times(f,act.mtime,act.atime);\n  }" if (parenthesized_expression "(act.settime != 0)" ( (binary_expression "act.settime != 0" (field_expression "act.settime" identifier . field_identifier) != number_literal) )) (compound_statement "{\n    set_file_times(f,act.mtime,act.atime);\n  }" { (expression_statement "set_file_times(f,act.mtime,act.atime);" (call_expression "set_file_times(f,act.mtime,act.atime)" identifier (argument_list "(f,act.mtime,act.atime)" ( identifier , (field_expression "act.mtime" identifier . field_identifier) , (field_expression "act.atime" identifier . field_identifier) ))) ;) }))) (expression_statement "close_wfile(f);" (call_expression "close_wfile(f)" identifier (argument_list "(f)" ( identifier ))) ;) (if_statement "if (!bVar2) {\n    scp_finish_filerecv();\n    safefree(local_808c);\n    safefree(act.buf);\n    goto LAB_00023788;\n  }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n    scp_finish_filerecv();\n    safefree(local_808c);\n    safefree(act.buf);\n    goto LAB_00023788;\n  }" { (expression_statement "scp_finish_filerecv();" (call_expression "scp_finish_filerecv()" identifier (argument_list "()" ( ))) ;) (expression_statement "safefree(local_808c);" (call_expression "safefree(local_808c)" identifier (argument_list "(local_808c)" ( identifier ))) ;) (expression_statement "safefree(act.buf);" (call_expression "safefree(act.buf)" identifier (argument_list "(act.buf)" ( (field_expression "act.buf" identifier . field_identifier) ))) ;) (goto_statement "goto LAB_00023788;" goto statement_identifier ;) })) (expression_statement "pcVar8 = "%s: Write error";" (assignment_expression "pcVar8 = "%s: Write error"" identifier = (string_literal ""%s: Write error"" " string_content ")) ;) (labeled_statement "LAB_00023c6e:\n  run_err(pcVar8,local_808c);" statement_identifier : (expression_statement "run_err(pcVar8,local_808c);" (call_expression "run_err(pcVar8,local_808c)" identifier (argument_list "(pcVar8,local_808c)" ( identifier , identifier ))) ;)) (expression_statement "safefree(local_808c);" (call_expression "safefree(local_808c)" identifier (argument_list "(local_808c)" ( identifier ))) ;) (goto_statement "goto LAB_00023788;" goto statement_identifier ;) })))
(translation_unit "void __regparm3 FUN_00023700(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}\n\n" (function_definition "void __regparm3 FUN_00023700(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00023700(undefined4 param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}" { (declaration "undefined1 *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "time_t tVar10;" type_identifier identifier ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined1 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "undefined1 local_80ac [24];" type_identifier (array_declarator "local_80ac [24]" identifier [ number_literal ]) ;) (declaration "undefined4 local_8094;" type_identifier identifier ;) (declaration "undefined1 *local_8084;" type_identifier (pointer_declarator "*local_8084" * identifier) ;) (declaration "int local_8080;" primitive_type identifier ;) (declaration "undefined4 local_8074;" type_identifier identifier ;) (declaration "undefined4 local_8064;" type_identifier identifier ;) (declaration "undefined *local_8060;" type_identifier (pointer_declarator "*local_8060" * identifier) ;) (declaration "undefined *local_8058;" type_identifier (pointer_declarator "*local_8058" * identifier) ;) (declaration "undefined1 local_8044 [32804];" type_identifier (array_declarator "local_8044 [32804]" identifier [ number_literal ]) ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x2370b;" (assignment_expression "uStack_14 = 0x2370b" identifier = number_literal) ;) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" * (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "local_8074 = param_1;" (assignment_expression "local_8074 = param_1" identifier = identifier) ;) (expression_statement "local_8064 = param_2;" (assignment_expression "local_8064 = param_2" identifier = identifier) ;) (expression_statement "iVar4 = FUN_0006a7e0(param_1);" (assignment_expression "iVar4 = FUN_0006a7e0(param_1)" identifier = (call_expression "FUN_0006a7e0(param_1)" identifier (argument_list "(param_1)" ( identifier )))) ;) (expression_statement "local_8080 = 1;" (assignment_expression "local_8080 = 1" identifier = number_literal) ;) (if_statement "if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }" if (parenthesized_expression "((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0))" ( (binary_expression "(iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)" (parenthesized_expression "(iVar4 != 2)" ( (binary_expression "iVar4 != 2" identifier != number_literal) )) && (parenthesized_expression "(local_8080 = DAT_000a91fc, DAT_000a91fc != 0)" ( (comma_expression "local_8080 = DAT_000a91fc, DAT_000a91fc != 0" (assignment_expression "local_8080 = DAT_000a91fc" identifier = identifier) , (binary_expression "DAT_000a91fc != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }" { (expression_statement "FUN_000202d0("%s: Not a directory",param_1);" (call_expression "FUN_000202d0("%s: Not a directory",param_1)" identifier (argument_list "("%s: Not a directory",param_1)" ( (string_literal ""%s: Not a directory"" " string_content ") , identifier ))) ;) (expression_statement "local_8080 = 0;" (assignment_expression "local_8080 = 0" identifier = number_literal) ;) })) (if_statement "if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }" if (parenthesized_expression "(DAT_000a91e4 == 0)" ( (binary_expression "DAT_000a91e4 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_00020d40();\n  }" { (expression_statement "FUN_00020d40();" (call_expression "FUN_00020d40()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_8094 = 0;" (assignment_expression "local_8094 = 0" identifier = number_literal) ;) (expression_statement "local_8084 = local_8044;" (assignment_expression "local_8084 = local_8044" identifier = identifier) ;) (expression_statement "local_8058 = PTR_stderr_000a8fa4;" (assignment_expression "local_8058 = PTR_stderr_000a8fa4" identifier = identifier) ;) (expression_statement "local_8060 = PTR_stderr_000a8fa4;" (assignment_expression "local_8060 = PTR_stderr_000a8fa4" identifier = identifier) ;) (expression_statement "puVar12 = (undefined4 *)local_80ac;" (assignment_expression "puVar12 = (undefined4 *)local_80ac" identifier = (cast_expression "(undefined4 *)local_80ac" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "LAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" statement_identifier : (while_statement "while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" { (do_statement "do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);" do (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x28)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x28)" ( (binary_expression "(int)puVar12 + 0x28" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23794;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23794" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_00022750();" (assignment_expression "iVar4 = FUN_00022750()" identifier = (call_expression "FUN_00022750()" identifier (argument_list "()" ( )))) ;) (if_statement "if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;" if (parenthesized_expression "((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3))" ( (binary_expression "(iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) == 3)" ( (binary_expression "*(int *)((int)puVar12 + 0x68) == 3" (pointer_expression "*(int *)((int)puVar12 + 0x68)" * (cast_expression "(int *)((int)puVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x68)" ( (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_00023c40;" goto statement_identifier ;)) }) while (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) == 4)" ( (binary_expression "*(int *)((int)puVar12 + 0x68) == 4" (pointer_expression "*(int *)((int)puVar12 + 0x68)" * (cast_expression "(int *)((int)puVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x68)" ( (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) ;) (if_statement "if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x2c) == 0)" ( (binary_expression "*(int *)((int)puVar12 + 0x2c) == 0" (pointer_expression "*(int *)((int)puVar12 + 0x2c)" * (cast_expression "(int *)((int)puVar12 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x2c)" ( (binary_expression "(int)puVar12 + 0x2c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x38)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x38)" ( (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238ec" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0001aad0();" (assignment_expression "uVar8 = FUN_0001aad0()" identifier = (call_expression "FUN_0001aad0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" else (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x70)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x70)" ( (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x237cb" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_0006ab00();" (assignment_expression "iVar4 = FUN_0006ab00()" identifier = (call_expression "FUN_0006ab00()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x70) != iVar4)" ( (binary_expression "*(int *)((int)puVar12 + 0x70) != iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x70)" * (cast_expression "(int *)((int)puVar12 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x70)" ( (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != identifier) )) (compound_statement "{\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }" { (expression_statement "*(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);" (assignment_expression "*(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70)" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar12 + 0x70)" * (cast_expression "(int *)((int)puVar12 + 0x70)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x70)" ( (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""warning: remote host sent a compound pathname \'%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);" (assignment_expression "puVar2 = *(undefined4 **)((int)puVar12 + 0x4c)" identifier = (pointer_expression "*(undefined4 **)((int)puVar12 + 0x4c)" * (cast_expression "(undefined4 **)((int)puVar12 + 0x4c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x4c)" ( (binary_expression "(int)puVar12 + 0x4c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x237f1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)((int)puVar12 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         renaming local file to \'%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23803;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23803" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(char **)((int)puVar12 + -0xc) = ".";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""."" " string_content ")) ;) (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23816;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23816" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));" (assignment_expression "sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier = (call_expression "strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier (argument_list "(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" ( (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }" if (parenthesized_expression "(*(char *)(iVar4 + sVar5) == '\0')" ( (binary_expression "*(char *)(iVar4 + sVar5) == '\0'" (pointer_expression "*(char *)(iVar4 + sVar5)" * (cast_expression "(char *)(iVar4 + sVar5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + sVar5)" ( (binary_expression "iVar4 + sVar5" identifier + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }" { (expression_statement "*(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";" (assignment_expression "*(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!"" (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""security violation: remote host attempted to write to a \'.\' or \'..\' path!"" " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c97" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000202d0();" (call_expression "FUN_000202d0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x48) != 0)" ( (binary_expression "*(int *)((int)puVar12 + 0x48) != 0" (pointer_expression "*(int *)((int)puVar12 + 0x48)" * (cast_expression "(int *)((int)puVar12 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x48)" ( (binary_expression "(int)puVar12 + 0x48" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);" (assignment_expression "*(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48)" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(int *)((int)puVar12 + 0x48)" * (cast_expression "(int *)((int)puVar12 + 0x48)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x48)" ( (binary_expression "(int)puVar12 + 0x48" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23836;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23836" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = FUN_0006ab00();" (assignment_expression "iVar6 = FUN_0006ab00()" identifier = (call_expression "FUN_0006ab00()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar12 + -0xc) = iVar6;" (assignment_expression "*(int *)((int)puVar12 + -0xc) = iVar6" (pointer_expression "*(int *)((int)puVar12 + -0xc)" * (cast_expression "(int *)((int)puVar12 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23841;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23841" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));" (assignment_expression "iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier = (call_expression "strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" identifier (argument_list "(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" ( (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) , (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (if_statement "if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }" if (parenthesized_expression "((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0))" ( (binary_expression "(iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)" (parenthesized_expression "(iVar7 != 0)" ( (binary_expression "iVar7 != 0" identifier != number_literal) )) && (parenthesized_expression "(DAT_000a91e4 == 0 && DAT_000a91f4 == 0)" ( (binary_expression "DAT_000a91e4 == 0 && DAT_000a91f4 == 0" (binary_expression "DAT_000a91e4 == 0" identifier == number_literal) && (binary_expression "DAT_000a91f4 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }" { (expression_statement "*(int *)((int)puVar12 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""warning: remote host tried to write to a file called \'%s\'"" " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement "puVar2 = *(undefined4 **)((int)puVar12 + 0x54);" (assignment_expression "puVar2 = *(undefined4 **)((int)puVar12 + 0x54)" identifier = (pointer_expression "*(undefined4 **)((int)puVar12 + 0x54)" * (cast_expression "(undefined4 **)((int)puVar12 + 0x54)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x54)" ( (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d36" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(int *)((int)puVar12 + -8) = iVar6;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar6" (pointer_expression "*(int *)((int)puVar12 + -8)" * (cast_expression "(int *)((int)puVar12 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         when we requested a file called \'%s\'."" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d48" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         If this is a wildcard, consider upgrading to SSH-2 or using"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d58" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" * (cast_expression "(char **)((int)puVar12 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""         the \'-unsafe\' option. Renaming of this file has been disallowed."" " string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar4 = iVar6;" (assignment_expression "iVar4 = iVar6" identifier = identifier) ;) })) })) (if_statement "if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" if (parenthesized_expression "(**(char **)((int)puVar12 + 0x38) == '\0')" ( (binary_expression "**(char **)((int)puVar12 + 0x38) == '\0'" (pointer_expression "**(char **)((int)puVar12 + 0x38)" * (pointer_expression "*(char **)((int)puVar12 + 0x38)" * (cast_expression "(char **)((int)puVar12 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x38)" ( (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" { (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" * (cast_expression "(int *)((int)puVar12 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c19" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0001aad0();" (assignment_expression "uVar8 = FUN_0001aad0()" identifier = (call_expression "FUN_0001aad0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" else (compound_statement "{\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" { (expression_statement "*(int *)((int)puVar12 + -0xc) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0xc) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0xc)" * (cast_expression "(int *)((int)puVar12 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);" (assignment_expression "*(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38)" (pointer_expression "*(char **)((int)puVar12 + -0x10)" * (cast_expression "(char **)((int)puVar12 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(char **)((int)puVar12 + 0x38)" * (cast_expression "(char **)((int)puVar12 + 0x38)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x38)" ( (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23877;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23877" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0006abc0();" (assignment_expression "uVar8 = FUN_0006abc0()" identifier = (call_expression "FUN_0006abc0()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) }))) }))) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x2388a" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar9 = FUN_0006a7e0();" (assignment_expression "uVar9 = FUN_0006a7e0()" identifier = (call_expression "FUN_0006a7e0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (*(int *)((int)puVar12 + 0x68) != 2) break;" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) != 2)" ( (binary_expression "*(int *)((int)puVar12 + 0x68) != 2" (pointer_expression "*(int *)((int)puVar12 + 0x68)" * (cast_expression "(int *)((int)puVar12 + 0x68)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x68)" ( (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != number_literal) )) (break_statement "break;" break ;)) (if_statement "if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }" if (parenthesized_expression "((uVar9 & 0xfffffffd) != 0)" ( (binary_expression "(uVar9 & 0xfffffffd) != 0" (parenthesized_expression "(uVar9 & 0xfffffffd)" ( (binary_expression "uVar9 & 0xfffffffd" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }" { (expression_statement "pcVar11 = "%s: Not a directory";" (assignment_expression "pcVar11 = "%s: Not a directory"" identifier = (string_literal ""%s: Not a directory"" " string_content ")) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) })) (if_statement "if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }" { (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238af;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238af" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_0006ab90();" (assignment_expression "iVar4 = FUN_0006ab90()" identifier = (call_expression "FUN_0006ab90()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }" { (expression_statement "pcVar11 = "%s: Cannot create directory";" (assignment_expression "pcVar11 = "%s: Cannot create directory"" identifier = (string_literal ""%s: Cannot create directory"" " string_content ")) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) })) })) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -4) = 0x238c7;" (assignment_expression "*(undefined4 *)((int)puVar12 + -4) = 0x238c7" (pointer_expression "*(undefined4 *)((int)puVar12 + -4)" * (cast_expression "(undefined4 *)((int)puVar12 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -4)" ( (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00023700();" (call_expression "FUN_00023700()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238d0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x74)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x74)" ( (binary_expression "(int)puVar12 + 0x74" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23908;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23908" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_0006a480();" (assignment_expression "iVar4 = FUN_0006a480()" identifier = (call_expression "FUN_0006a480()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar12 + 0x24) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + 0x24) = iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x24)" * (cast_expression "(int *)((int)puVar12 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x24)" ( (binary_expression "(int)puVar12 + 0x24" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (compound_statement "{\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }" { (expression_statement "*(undefined4 *)((int)puVar12 + -4) = 0x2391c;" (assignment_expression "*(undefined4 *)((int)puVar12 + -4) = 0x2391c" (pointer_expression "*(undefined4 *)((int)puVar12 + -4)" * (cast_expression "(undefined4 *)((int)puVar12 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -4)" ( (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_00023280();" (assignment_expression "iVar4 = FUN_00023280()" identifier = (call_expression "FUN_00023280()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(int *)((int)puVar12 + 0x40) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + 0x40) = iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x40)" * (cast_expression "(int *)((int)puVar12 + 0x40)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x40)" ( (binary_expression "(int)puVar12 + 0x40" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (if_statement "if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }" { (expression_statement "puVar1 = (undefined1 *)((int)puVar12 + 0x58);" (assignment_expression "puVar1 = (undefined1 *)((int)puVar12 + 0x58)" identifier = (cast_expression "(undefined1 *)((int)puVar12 + 0x58)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x58)" ( (binary_expression "(int)puVar12 + 0x58" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 **)((int)puVar12 + 0x14) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + 0x14) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + 0x14)" * (cast_expression "(undefined1 **)((int)puVar12 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x14)" ( (binary_expression "(int)puVar12 + 0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -8) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -8)" * (cast_expression "(undefined4 *)((int)puVar12 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar12 + -0x10) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + -0x10) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + -0x10)" * (cast_expression "(undefined1 **)((int)puVar12 + -0x10)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x2393d" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x2c)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x2c)" ( (binary_expression "(int)puVar12 + 0x2c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x54)" ( (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58)" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x30)" ( (binary_expression "(int)puVar12 + 0x30" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x58)" ( (binary_expression "(int)puVar12 + 0x58" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23954;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23954" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x18)" ( (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "tVar10 = time(*(time_t **)((int)puVar12 + -0x14));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar12 + -0x14))" identifier = (call_expression "time(*(time_t **)((int)puVar12 + -0x14))" identifier (argument_list "(*(time_t **)((int)puVar12 + -0x14))" ( (pointer_expression "*(time_t **)((int)puVar12 + -0x14)" * (cast_expression "(time_t **)((int)puVar12 + -0x14)" ( (type_descriptor "time_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(time_t *)((int)puVar12 + 0x4c) = tVar10;" (assignment_expression "*(time_t *)((int)puVar12 + 0x4c) = tVar10" (pointer_expression "*(time_t *)((int)puVar12 + 0x4c)" * (cast_expression "(time_t *)((int)puVar12 + 0x4c)" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x4c)" ( (binary_expression "(int)puVar12 + 0x4c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x1c)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x1c)" ( (binary_expression "(int)puVar12 + 0x1c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23965;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23965" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x18)" ( (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar8 = FUN_0006ab00();" (assignment_expression "uVar8 = FUN_0006ab00()" identifier = (call_expression "FUN_0006ab00()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + 0x40) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x40) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x40)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x40)" ( (binary_expression "(int)puVar12 + 0x40" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 **)((int)puVar12 + -0x14) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + -0x14) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + -0x14)" * (cast_expression "(undefined1 **)((int)puVar12 + -0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23976;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23976" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x18)" ( (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x50);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x50)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x50)" ( (binary_expression "(int)puVar12 + 0x50" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)((int)puVar12 + 0x54);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar12 + 0x54)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x54)" ( (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined4 *)((int)puVar12 + -8);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar12 + -8)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -8)" ( (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);" (assignment_expression "*(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84)" (pointer_expression "*(undefined1 **)((int)puVar12 + 0x14)" * (cast_expression "(undefined1 **)((int)puVar12 + 0x14)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x14)" ( (binary_expression "(int)puVar12 + 0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (cast_expression "(undefined1 *)((int)puVar12 + 0x84)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x84)" ( (binary_expression "(int)puVar12 + 0x84" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(char **)((int)puVar12 + 0x34) = "Lost connection";" (assignment_expression "*(char **)((int)puVar12 + 0x34) = "Lost connection"" (pointer_expression "*(char **)((int)puVar12 + 0x34)" * (cast_expression "(char **)((int)puVar12 + 0x34)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + 0x34)" ( (binary_expression "(int)puVar12 + 0x34" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Lost connection"" " string_content ")) ;) (labeled_statement "LAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );" statement_identifier : (do_statement "do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );" do (compound_statement "{\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      }" { (expression_statement "puVar13[-1] = puVar13[0x1f];" (assignment_expression "puVar13[-1] = puVar13[0x1f]" (subscript_expression "puVar13[-1]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1f]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-2] = puVar13[0x1e];" (assignment_expression "puVar13[-2] = puVar13[0x1e]" (subscript_expression "puVar13[-2]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1e]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-3] = uVar17;" (assignment_expression "puVar13[-3] = uVar17" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-4] = uVar8;" (assignment_expression "puVar13[-4] = uVar8" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-5] = 0x239af;" (assignment_expression "puVar13[-5] = 0x239af" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00018c90();" (assignment_expression "iVar4 = FUN_00018c90()" identifier = (call_expression "FUN_00018c90()" identifier (argument_list "()" ( )))) ;) (if_statement "if (-1 < iVar4) goto LAB_00023af8;" if (parenthesized_expression "(-1 < iVar4)" ( (binary_expression "-1 < iVar4" number_literal < identifier) )) (goto_statement "goto LAB_00023af8;" goto statement_identifier ;)) (expression_statement "puVar13[-2] = 0x8000;" (assignment_expression "puVar13[-2] = 0x8000" (subscript_expression "puVar13[-2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar13[-3] = 0;" (assignment_expression "puVar13[-3] = 0" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "uVar3 = puVar13[5];" (assignment_expression "uVar3 = puVar13[5]" identifier = (subscript_expression "puVar13[5]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-4] = uVar3;" (assignment_expression "puVar13[-4] = uVar3" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-5] = 0x239ce;" (assignment_expression "puVar13[-5] = 0x239ce" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[1] = puVar13[0x15];" (assignment_expression "puVar13[1] = puVar13[0x15]" (subscript_expression "puVar13[1]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x15]" identifier [ number_literal ])) ;) (expression_statement "puVar13[2] = puVar13[0x16];" (assignment_expression "puVar13[2] = puVar13[0x16]" (subscript_expression "puVar13[2]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x16]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = uVar17;" (assignment_expression "puVar13[-5] = uVar17" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-6] = uVar8;" (assignment_expression "puVar13[-6] = uVar8" (subscript_expression "puVar13[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-7] = puVar13[0x1e];" (assignment_expression "puVar13[-7] = puVar13[0x1e]" (subscript_expression "puVar13[-7]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1e]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-8] = puVar13[0x1d];" (assignment_expression "puVar13[-8] = puVar13[0x1d]" (subscript_expression "puVar13[-8]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1d]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-9] = uVar3;" (assignment_expression "puVar13[-9] = uVar3" (subscript_expression "puVar13[-9]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-10] = 0x239f4;" (assignment_expression "puVar13[-10] = 0x239f4" (subscript_expression "puVar13[-10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00018cc0();" (call_expression "FUN_00018cc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-3] = puVar13[0x15];" (assignment_expression "puVar13[-3] = puVar13[0x15]" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x15]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-4] = puVar13[0x14];" (assignment_expression "puVar13[-4] = puVar13[0x14]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x14]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = puVar13[1];" (assignment_expression "puVar13[-5] = puVar13[1]" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = (subscript_expression "puVar13[1]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-6] = *puVar13;" (assignment_expression "puVar13[-6] = *puVar13" (subscript_expression "puVar13[-6]" identifier [ number_literal ]) = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "puVar13[-7] = 0x23a0c;" (assignment_expression "puVar13[-7] = 0x23a0c" (subscript_expression "puVar13[-7]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "iVar4 = FUN_00018c90();" (assignment_expression "iVar4 = FUN_00018c90()" identifier = (call_expression "FUN_00018c90()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar14 = puVar13 + -2;" (assignment_expression "puVar14 = puVar13 + -2" identifier = (binary_expression "puVar13 + -2" identifier + number_literal)) ;) (if_statement "if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }" { (expression_statement "puVar13[-6] = uVar17;" (assignment_expression "puVar13[-6] = uVar17" (subscript_expression "puVar13[-6]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-7] = uVar8;" (assignment_expression "puVar13[-7] = uVar8" (subscript_expression "puVar13[-7]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-8] = puVar13[0x1d];" (assignment_expression "puVar13[-8] = puVar13[0x1d]" (subscript_expression "puVar13[-8]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1d]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-9] = puVar13[0x1c];" (assignment_expression "puVar13[-9] = puVar13[0x1c]" (subscript_expression "puVar13[-9]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1c]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-10] = uVar3;" (assignment_expression "puVar13[-10] = uVar3" (subscript_expression "puVar13[-10]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar13[-0xb] = 0x23a2c;" (assignment_expression "puVar13[-0xb] = 0x23a2c" (subscript_expression "puVar13[-0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00018cc0();" (call_expression "FUN_00018cc0()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-1] = puVar13[0x13];" (assignment_expression "puVar13[-1] = puVar13[0x13]" (subscript_expression "puVar13[-1]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x13]" identifier [ number_literal ])) ;) (expression_statement "*puVar13 = puVar13[0x14];" (assignment_expression "*puVar13 = puVar13[0x14]" (pointer_expression "*puVar13" * identifier) = (subscript_expression "puVar13[0x14]" identifier [ number_literal ])) ;) (expression_statement "puVar14 = puVar13 + -3;" (assignment_expression "puVar14 = puVar13 + -3" identifier = (binary_expression "puVar13 + -3" identifier + number_literal)) ;) })) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0xc)" ( (binary_expression "(int)puVar14 + 0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x1c)" ( (binary_expression "(int)puVar14 + 0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar4 = FUN_000233b0();" (assignment_expression "iVar4 = FUN_000233b0()" identifier = (call_expression "FUN_000233b0()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }" if (parenthesized_expression "(iVar4 < 1)" ( (binary_expression "iVar4 < 1" identifier < number_literal) )) (compound_statement "{\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }" { (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x3c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x3c)" ( (binary_expression "(int)puVar14 + 0x3c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aec" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000202d0();" (call_expression "FUN_000202d0()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }" if (parenthesized_expression "(*(int *)((int)puVar14 + 0x18) == 0)" ( (binary_expression "*(int *)((int)puVar14 + 0x18) == 0" (pointer_expression "*(int *)((int)puVar14 + 0x18)" * (cast_expression "(int *)((int)puVar14 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x18)" ( (binary_expression "(int)puVar14 + 0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }" { (expression_statement "*(int *)((int)puVar14 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -8)" * (cast_expression "(int *)((int)puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x1c)" ( (binary_expression "(int)puVar14 + 0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x24)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x24)" ( (binary_expression "(int)puVar14 + 0x24" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a75" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = FUN_0006a610();" (assignment_expression "iVar6 = FUN_0006a610()" identifier = (call_expression "FUN_0006a610()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }" if (parenthesized_expression "(iVar6 == iVar4)" ( (binary_expression "iVar6 == iVar4" identifier == identifier) )) (compound_statement "{\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }" { (if_statement "if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }" if (parenthesized_expression "(DAT_000a903c != 0)" ( (binary_expression "DAT_000a903c != 0" identifier != number_literal) )) (compound_statement "{\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }" { (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" * (cast_expression "(int *)((int)puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34)" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x34)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x34)" ( (binary_expression "(int)puVar14 + 0x34" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x30)" ( (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x2c)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x2c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x2c)" ( (binary_expression "(int)puVar14 + 0x2c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58)" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x30)" ( (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x58)" ( (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b71" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "tVar10 = time(*(time_t **)((int)puVar14 + -0x14));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar14 + -0x14))" identifier = (call_expression "time(*(time_t **)((int)puVar14 + -0x14))" identifier (argument_list "(*(time_t **)((int)puVar14 + -0x14))" ( (pointer_expression "*(time_t **)((int)puVar14 + -0x14)" * (cast_expression "(time_t **)((int)puVar14 + -0x14)" ( (type_descriptor "time_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "puVar1 = (undefined1 *)((int)puVar14 + -4);" (assignment_expression "puVar1 = (undefined1 *)((int)puVar14 + -4)" identifier = (cast_expression "(undefined1 *)((int)puVar14 + -4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (if_statement "if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }" if (parenthesized_expression "(tVar10 <= *(int *)((int)puVar14 + 0x3c))" ( (binary_expression "tVar10 <= *(int *)((int)puVar14 + 0x3c)" identifier <= (pointer_expression "*(int *)((int)puVar14 + 0x3c)" * (cast_expression "(int *)((int)puVar14 + 0x3c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x3c)" ( (binary_expression "(int)puVar14 + 0x3c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) (compound_statement "{\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }" { (expression_statement "*(int *)((int)puVar14 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -8)" * (cast_expression "(int *)((int)puVar14 + -8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x10)" ( (binary_expression "(int)puVar14 + 0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b86" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x74)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x74)" ( (binary_expression "(int)puVar14 + 0x74" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x70)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x70)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x70)" ( (binary_expression "(int)puVar14 + 0x70" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x50)" ( (binary_expression "(int)puVar14 + 0x50" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x1c)" ( (binary_expression "(int)puVar14 + -0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "iVar6 = FUN_00018c90();" (assignment_expression "iVar6 = FUN_00018c90()" identifier = (call_expression "FUN_00018c90()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar15 = (undefined1 *)((int)puVar14 + -8);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar14 + -8)" identifier = (cast_expression "(undefined1 *)((int)puVar14 + -8)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar14 = (undefined4 *)((int)puVar14 + -8);" (assignment_expression "puVar14 = (undefined4 *)((int)puVar14 + -8)" identifier = (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "puVar1 = puVar15;" (assignment_expression "puVar1 = puVar15" identifier = identifier) ;) (if_statement "if (iVar6 != 0) goto LAB_00023abe;" if (parenthesized_expression "(iVar6 != 0)" ( (binary_expression "iVar6 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00023abe;" goto statement_identifier ;)) })) (expression_statement "puVar14 = (undefined4 *)puVar1;" (assignment_expression "puVar14 = (undefined4 *)puVar1" identifier = (cast_expression "(undefined4 *)puVar1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "tVar10 = time(*(time_t **)((int)puVar14 + -0x10));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar14 + -0x10))" identifier = (call_expression "time(*(time_t **)((int)puVar14 + -0x10))" identifier (argument_list "(*(time_t **)((int)puVar14 + -0x10))" ( (pointer_expression "*(time_t **)((int)puVar14 + -0x10)" * (cast_expression "(time_t **)((int)puVar14 + -0x10)" ( (type_descriptor "time_t **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )))) ;) (expression_statement "*(time_t *)((int)puVar14 + 0x40) = tVar10;" (assignment_expression "*(time_t *)((int)puVar14 + 0x40) = tVar10" (pointer_expression "*(time_t *)((int)puVar14 + 0x40)" * (cast_expression "(time_t *)((int)puVar14 + 0x40)" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x40)" ( (binary_expression "(int)puVar14 + 0x40" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(time_t *)((int)puVar14 + -0x14) = tVar10;" (assignment_expression "*(time_t *)((int)puVar14 + -0x14) = tVar10" (pointer_expression "*(time_t *)((int)puVar14 + -0x14)" * (cast_expression "(time_t *)((int)puVar14 + -0x14)" ( (type_descriptor "time_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x18)" ( (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x50)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x50)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x50)" ( (binary_expression "(int)puVar14 + 0x50" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x1c)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x1c)" ( (binary_expression "(int)puVar14 + -0x1c" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x34)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x34)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x34)" ( (binary_expression "(int)puVar14 + 0x34" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x20)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x20)" ( (binary_expression "(int)puVar14 + -0x20" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x30)" ( (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x24)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x24)" ( (binary_expression "(int)puVar14 + -0x24" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001fe40();" (call_expression "FUN_0001fe40()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;" statement_identifier : (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" * (cast_expression "(int *)((int)puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aca" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar14 + 0x54)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar14 + 0x58)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x58)" ( (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined4 *)((int)puVar14 + -4);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar14 + -4)" identifier = (cast_expression "(undefined4 *)((int)puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_000239a0;" goto statement_identifier ;) })) (if_statement "if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }" if (parenthesized_expression "(DAT_000a903c != 0)" ( (binary_expression "DAT_000a903c != 0" identifier != number_literal) )) (compound_statement "{\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }" { (expression_statement "*(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";" (assignment_expression "*(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file"" (pointer_expression "*(char **)((int)puVar14 + -4)" * (cast_expression "(char **)((int)puVar14 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""Write error.. waiting for end of file"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44)" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x44)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x44)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x44)" ( (binary_expression "(int)puVar14 + 0x44" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";" (assignment_expression "*(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n"" (pointer_expression "*(char **)((int)puVar14 + -0xc)" * (cast_expression "(char **)((int)puVar14 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""\r%-25.25s | %50s\n"" " escape_sequence string_content escape_sequence ")) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23c01" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "__printf_chk();" (call_expression "__printf_chk()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" * (cast_expression "(int *)((int)puVar14 + -4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" * (cast_expression "(undefined4 *)((int)puVar14 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -8)" ( (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0xc)" ( (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x10)" ( (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a96" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -0x14)" ( (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar14 + 0x54)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x54)" ( (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "uVar17 = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar14 + 0x58)" identifier = (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x58)" ( (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar13 = (undefined4 *)((int)puVar14 + -4);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar14 + -4)" identifier = (cast_expression "(undefined4 *)((int)puVar14 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + -4)" ( (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar14 + 0x14) = 1;" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x14) = 1" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" * (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar14 + 0x14)" ( (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) }) while (parenthesized_expression "( true )" ( true )) ;)) })) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c31" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x10)" ( (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x24)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x24)" ( (binary_expression "(int)puVar12 + 0x24" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" * (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0x14)" ( (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0006a6e0();" (call_expression "FUN_0006a6e0()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" statement_identifier : (if_statement "if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" if (parenthesized_expression "(*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar12 + 0x808c)" * (cast_expression "(int *)((int)puVar12 + 0x808c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x808c)" ( (binary_expression "(int)puVar12 + 0x808c" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) != (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" { (expression_statement "*(undefined **)((int)puVar12 + -4) = &UNK_00023d77;" (assignment_expression "*(undefined **)((int)puVar12 + -4) = &UNK_00023d77" (pointer_expression "*(undefined **)((int)puVar12 + -4)" * (cast_expression "(undefined **)((int)puVar12 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar12 + -4)" ( (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_00023d77" & identifier)) ;) (expression_statement "FUN_0006f2a0();" (call_expression "FUN_0006f2a0()" identifier (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (expression_statement "pcVar11 = "%s: Cannot create file";" (assignment_expression "pcVar11 = "%s: Cannot create file"" identifier = (string_literal ""%s: Cannot create file"" " string_content ")) ;) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" identifier = (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" * (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + 0x20)" ( (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" * (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar12 + -0xc)" ( (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (goto_statement "goto LAB_00023c6e;" goto statement_identifier ;) (labeled_statement "LAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" statement_identifier : (if_statement "if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" if (parenthesized_expression "(puVar13[0x20] != 0)" ( (binary_expression "puVar13[0x20] != 0" (subscript_expression "puVar13[0x20]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" { (expression_statement "puVar13[-2] = puVar13[0x21];" (assignment_expression "puVar13[-2] = puVar13[0x21]" (subscript_expression "puVar13[-2]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x21]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-3] = puVar13[0x22];" (assignment_expression "puVar13[-3] = puVar13[0x22]" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x22]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-4] = puVar13[9];" (assignment_expression "puVar13[-4] = puVar13[9]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[9]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23cda;" (assignment_expression "puVar13[-5] = 0x23cda" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0006a680();" (call_expression "FUN_0006a680()" identifier (argument_list "()" ( ))) ;) }))) (expression_statement "puVar13[-4] = puVar13[9];" (assignment_expression "puVar13[-4] = puVar13[9]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[9]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23b13;" (assignment_expression "puVar13[-5] = 0x23b13" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0006a6e0();" (call_expression "FUN_0006a6e0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }" if (parenthesized_expression "(puVar13[6] == 0)" ( (binary_expression "puVar13[6] == 0" (subscript_expression "puVar13[6]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }" { (expression_statement "puVar13[-1] = 0x23b27;" (assignment_expression "puVar13[-1] = 0x23b27" (subscript_expression "puVar13[-1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00023580();" (call_expression "FUN_00023580()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-4] = puVar13[8];" (assignment_expression "puVar13[-4] = puVar13[8]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[8]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23b33;" (assignment_expression "puVar13[-5] = 0x23b33" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar13[-4] = puVar13[0x1b];" (assignment_expression "puVar13[-4] = puVar13[0x1b]" (subscript_expression "puVar13[-4]" identifier [ number_literal ]) = (subscript_expression "puVar13[0x1b]" identifier [ number_literal ])) ;) (expression_statement "puVar13[-5] = 0x23b3d;" (assignment_expression "puVar13[-5] = 0x23b3d" (subscript_expression "puVar13[-5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" identifier = identifier) ;) (goto_statement "goto LAB_00023788;" goto statement_identifier ;) })) (expression_statement "pcVar11 = "%s: Write error";" (assignment_expression "pcVar11 = "%s: Write error"" identifier = (string_literal ""%s: Write error"" " string_content ")) ;) (expression_statement "uVar8 = puVar13[8];" (assignment_expression "uVar8 = puVar13[8]" identifier = (subscript_expression "puVar13[8]" identifier [ number_literal ])) ;) (expression_statement "puVar16 = puVar13 + -3;" (assignment_expression "puVar16 = puVar13 + -3" identifier = (binary_expression "puVar13 + -3" identifier + number_literal)) ;) (expression_statement "puVar13[-3] = uVar8;" (assignment_expression "puVar13[-3] = uVar8" (subscript_expression "puVar13[-3]" identifier [ number_literal ]) = identifier) ;) (labeled_statement "LAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;" statement_identifier : (expression_statement "*(char **)((int)puVar16 + -4) = pcVar11;" (assignment_expression "*(char **)((int)puVar16 + -4) = pcVar11" (pointer_expression "*(char **)((int)puVar16 + -4)" * (cast_expression "(char **)((int)puVar16 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)puVar16 + -4)" ( (binary_expression "(int)puVar16 + -4" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)((int)puVar16 + -8) = 0x23c74;" (assignment_expression "*(undefined4 *)((int)puVar16 + -8) = 0x23c74" (pointer_expression "*(undefined4 *)((int)puVar16 + -8)" * (cast_expression "(undefined4 *)((int)puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + -8)" ( (binary_expression "(int)puVar16 + -8" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_00020c10();" (call_expression "FUN_00020c10()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined4 *)((int)puVar16 + -4) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar16 + -4) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar16 + -4)" * (cast_expression "(undefined4 *)((int)puVar16 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + -4)" ( (binary_expression "(int)puVar16 + -4" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)puVar16 + -8) = 0x23c7c;" (assignment_expression "*(undefined4 *)((int)puVar16 + -8) = 0x23c7c" (pointer_expression "*(undefined4 *)((int)puVar16 + -8)" * (cast_expression "(undefined4 *)((int)puVar16 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + -8)" ( (binary_expression "(int)puVar16 + -8" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" identifier (argument_list "()" ( ))) ;) (expression_statement "puVar12 = (undefined4 *)((int)puVar16 + 0xc);" (assignment_expression "puVar12 = (undefined4 *)((int)puVar16 + 0xc)" identifier = (cast_expression "(undefined4 *)((int)puVar16 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar16 + 0xc)" ( (binary_expression "(int)puVar16 + 0xc" (cast_expression "(int)puVar16" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (goto_statement "goto LAB_00023788;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (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 (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (labeled_statement statement_identifier : (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) }) while (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) )))) == 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) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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) )))) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 IDENT + IDENT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content escape_sequence string_content escape_sequence string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) }))) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (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) )))) != LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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 (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = 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 *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (do_statement do (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (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 IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (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) )))) ;) (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) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " escape_sequence string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) }) while (parenthesized_expression ( BOOL )) ;)) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) )))) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (goto_statement goto statement_identifier ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (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) )))) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "void __regparm3 FUN_00023700(undefined4 param_1,undefined4 param_2)\n\n{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00023700(undefined4 param_1,undefined4 param_2)" (identifier "FUN_00023700") (parameter_list "(undefined4 param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  undefined1 *puVar1;\n  undefined4 *puVar2;\n  undefined4 uVar3;\n  int iVar4;\n  size_t sVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  uint uVar9;\n  time_t tVar10;\n  char *pcVar11;\n  undefined4 *puVar12;\n  undefined4 *puVar13;\n  undefined4 *puVar14;\n  undefined1 *puVar15;\n  undefined4 *puVar16;\n  undefined4 uVar17;\n  int in_GS_OFFSET;\n  undefined1 local_80ac [24];\n  undefined4 local_8094;\n  undefined1 *local_8084;\n  int local_8080;\n  undefined4 local_8074;\n  undefined4 local_8064;\n  undefined *local_8060;\n  undefined *local_8058;\n  undefined1 local_8044 [32804];\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x2370b;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  local_8074 = param_1;\n  local_8064 = param_2;\n  iVar4 = FUN_0006a7e0(param_1);\n  local_8080 = 1;\n  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }\n  if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }\n  local_8094 = 0;\n  local_8084 = local_8044;\n  local_8058 = PTR_stderr_000a8fa4;\n  local_8060 = PTR_stderr_000a8fa4;\n  puVar12 = (undefined4 *)local_80ac;\nLAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }\n  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);\n  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;\n  iVar4 = FUN_0006a480();\n  *(int *)((int)puVar12 + 0x24) = iVar4;\n  if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }\n  pcVar11 = "%s: Cannot create file";\n  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n  puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n  goto LAB_00023c6e;\nLAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }\n  puVar13[-4] = puVar13[9];\n  puVar13[-5] = 0x23b13;\n  FUN_0006a6e0();\n  if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }\n  pcVar11 = "%s: Write error";\n  uVar8 = puVar13[8];\n  puVar16 = puVar13 + -3;\n  puVar13[-3] = uVar8;\nLAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;\n  FUN_00020c10();\n  *(undefined4 *)((int)puVar16 + -4) = uVar8;\n  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;\n  FUN_0001b250();\n  puVar12 = (undefined4 *)((int)puVar16 + 0xc);\n  goto LAB_00023788;\n}" ({ "{") (declaration "undefined1 *puVar1;" (type_identifier "undefined1") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "time_t tVar10;" (type_identifier "time_t") (identifier "tVar10") (; ";")) (declaration "char *pcVar11;" (primitive_type "char") (pointer_declarator "*pcVar11" (* "*") (identifier "pcVar11")) (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined4 *puVar13;" (type_identifier "undefined4") (pointer_declarator "*puVar13" (* "*") (identifier "puVar13")) (; ";")) (declaration "undefined4 *puVar14;" (type_identifier "undefined4") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined1 *puVar15;" (type_identifier "undefined1") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined4 *puVar16;" (type_identifier "undefined4") (pointer_declarator "*puVar16" (* "*") (identifier "puVar16")) (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "undefined1 local_80ac [24];" (type_identifier "undefined1") (array_declarator "local_80ac [24]" (identifier "local_80ac") ([ "[") (number_literal "24") (] "]")) (; ";")) (declaration "undefined4 local_8094;" (type_identifier "undefined4") (identifier "local_8094") (; ";")) (declaration "undefined1 *local_8084;" (type_identifier "undefined1") (pointer_declarator "*local_8084" (* "*") (identifier "local_8084")) (; ";")) (declaration "int local_8080;" (primitive_type "int") (identifier "local_8080") (; ";")) (declaration "undefined4 local_8074;" (type_identifier "undefined4") (identifier "local_8074") (; ";")) (declaration "undefined4 local_8064;" (type_identifier "undefined4") (identifier "local_8064") (; ";")) (declaration "undefined *local_8060;" (type_identifier "undefined") (pointer_declarator "*local_8060" (* "*") (identifier "local_8060")) (; ";")) (declaration "undefined *local_8058;" (type_identifier "undefined") (pointer_declarator "*local_8058" (* "*") (identifier "local_8058")) (; ";")) (declaration "undefined1 local_8044 [32804];" (type_identifier "undefined1") (array_declarator "local_8044 [32804]" (identifier "local_8044") ([ "[") (number_literal "32804") (] "]")) (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x2370b;" (assignment_expression "uStack_14 = 0x2370b" (identifier "uStack_14") (= "=") (number_literal "0x2370b")) (; ";")) (expression_statement "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);" (assignment_expression "local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14)" (identifier "local_20") (= "=") (pointer_expression "*(undefined4 *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(undefined4 *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (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_8074 = param_1;" (assignment_expression "local_8074 = param_1" (identifier "local_8074") (= "=") (identifier "param_1")) (; ";")) (expression_statement "local_8064 = param_2;" (assignment_expression "local_8064 = param_2" (identifier "local_8064") (= "=") (identifier "param_2")) (; ";")) (expression_statement "iVar4 = FUN_0006a7e0(param_1);" (assignment_expression "iVar4 = FUN_0006a7e0(param_1)" (identifier "iVar4") (= "=") (call_expression "FUN_0006a7e0(param_1)" (identifier "FUN_0006a7e0") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")")))) (; ";")) (expression_statement "local_8080 = 1;" (assignment_expression "local_8080 = 1" (identifier "local_8080") (= "=") (number_literal "1")) (; ";")) (if_statement "if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }" (if "if") (parenthesized_expression "((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0))" (( "(") (binary_expression "(iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)" (parenthesized_expression "(iVar4 != 2)" (( "(") (binary_expression "iVar4 != 2" (identifier "iVar4") (!= "!=") (number_literal "2")) () ")")) (&& "&&") (parenthesized_expression "(local_8080 = DAT_000a91fc, DAT_000a91fc != 0)" (( "(") (comma_expression "local_8080 = DAT_000a91fc, DAT_000a91fc != 0" (assignment_expression "local_8080 = DAT_000a91fc" (identifier "local_8080") (= "=") (identifier "DAT_000a91fc")) (, ",") (binary_expression "DAT_000a91fc != 0" (identifier "DAT_000a91fc") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    FUN_000202d0("%s: Not a directory",param_1);\n    local_8080 = 0;\n  }" ({ "{") (expression_statement "FUN_000202d0("%s: Not a directory",param_1);" (call_expression "FUN_000202d0("%s: Not a directory",param_1)" (identifier "FUN_000202d0") (argument_list "("%s: Not a directory",param_1)" (( "(") (string_literal ""%s: Not a directory"" (" """) (string_content "%s: Not a directory") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "local_8080 = 0;" (assignment_expression "local_8080 = 0" (identifier "local_8080") (= "=") (number_literal "0")) (; ";")) (} "}"))) (if_statement "if (DAT_000a91e4 == 0) {\n    FUN_00020d40();\n  }" (if "if") (parenthesized_expression "(DAT_000a91e4 == 0)" (( "(") (binary_expression "DAT_000a91e4 == 0" (identifier "DAT_000a91e4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00020d40();\n  }" ({ "{") (expression_statement "FUN_00020d40();" (call_expression "FUN_00020d40()" (identifier "FUN_00020d40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_8094 = 0;" (assignment_expression "local_8094 = 0" (identifier "local_8094") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_8084 = local_8044;" (assignment_expression "local_8084 = local_8044" (identifier "local_8084") (= "=") (identifier "local_8044")) (; ";")) (expression_statement "local_8058 = PTR_stderr_000a8fa4;" (assignment_expression "local_8058 = PTR_stderr_000a8fa4" (identifier "local_8058") (= "=") (identifier "PTR_stderr_000a8fa4")) (; ";")) (expression_statement "local_8060 = PTR_stderr_000a8fa4;" (assignment_expression "local_8060 = PTR_stderr_000a8fa4" (identifier "local_8060") (= "=") (identifier "PTR_stderr_000a8fa4")) (; ";")) (expression_statement "puVar12 = (undefined4 *)local_80ac;" (assignment_expression "puVar12 = (undefined4 *)local_80ac" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)local_80ac" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "local_80ac"))) (; ";")) (labeled_statement "LAB_00023788:\n  while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" (statement_identifier "LAB_00023788") (: ":") (while_statement "while( true ) {\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);\n    if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;\n    uVar9 = FUN_0006a7e0();\n    if (*(int *)((int)puVar12 + 0x68) != 2) break;\n    if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }\n    if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }\n    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;\n    FUN_00023700();\n    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;\n    FUN_0001b250();\n  }" ({ "{") (do_statement "do {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    } while (*(int *)((int)puVar12 + 0x68) == 4);" (do "do") (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;\n      iVar4 = FUN_00022750();\n      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x28)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x28)" (( "(") (binary_expression "(int)puVar12 + 0x28" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23794;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23794" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23794")) (; ";")) (expression_statement "iVar4 = FUN_00022750();" (assignment_expression "iVar4 = FUN_00022750()" (identifier "iVar4") (= "=") (call_expression "FUN_00022750()" (identifier "FUN_00022750") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;" (if "if") (parenthesized_expression "((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3))" (( "(") (binary_expression "(iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) == 3)" (( "(") (binary_expression "*(int *)((int)puVar12 + 0x68) == 3" (pointer_expression "*(int *)((int)puVar12 + 0x68)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x68)" (( "(") (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x68")) () ")")))) (== "==") (number_literal "3")) () ")"))) () ")")) (goto_statement "goto LAB_00023c40;" (goto "goto") (statement_identifier "LAB_00023c40") (; ";"))) (} "}")) (while "while") (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) == 4)" (( "(") (binary_expression "*(int *)((int)puVar12 + 0x68) == 4" (pointer_expression "*(int *)((int)puVar12 + 0x68)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x68)" (( "(") (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x68")) () ")")))) (== "==") (number_literal "4")) () ")")) (; ";")) (if_statement "if (*(int *)((int)puVar12 + 0x2c) == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }\n    else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)((int)puVar12 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)((int)puVar12 + 0x2c) == 0" (pointer_expression "*(int *)((int)puVar12 + 0x2c)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x2c)" (( "(") (binary_expression "(int)puVar12 + 0x2c" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;\n      uVar8 = FUN_0001aad0();\n      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x38)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x38)" (( "(") (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238ec" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x238ec")) (; ";")) (expression_statement "uVar8 = FUN_0001aad0();" (assignment_expression "uVar8 = FUN_0001aad0()" (identifier "uVar8") (= "=") (call_expression "FUN_0001aad0()" (identifier "FUN_0001aad0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (} "}")) (else_clause "else {\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" (else "else") (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0xc) = 1;\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;\n      iVar4 = FUN_0006ab00();\n      if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }\n      *(char **)((int)puVar12 + -0xc) = ".";\n      *(int *)((int)puVar12 + -0x10) = iVar4;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;\n      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n      if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }\n      if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }\n      if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x70)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x70)" (( "(") (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x237cb" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x237cb")) (; ";")) (expression_statement "iVar4 = FUN_0006ab00();" (assignment_expression "iVar4 = FUN_0006ab00()" (identifier "iVar4") (= "=") (call_expression "FUN_0006ab00()" (identifier "FUN_0006ab00") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(int *)((int)puVar12 + 0x70) != iVar4) {\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }" (if "if") (parenthesized_expression "(*(int *)((int)puVar12 + 0x70) != iVar4)" (( "(") (binary_expression "*(int *)((int)puVar12 + 0x70) != iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x70)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x70)" (( "(") (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x70")) () ")")))) (!= "!=") (identifier "iVar4")) () ")")) (compound_statement "{\n        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);\n        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";\n        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;\n        FUN_0001fb60();\n        *(int *)((int)puVar12 + -8) = iVar4;\n        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";\n        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;\n        FUN_0001fb60();\n      }" ({ "{") (expression_statement "*(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);" (assignment_expression "*(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70)" (pointer_expression "*(int *)((int)puVar12 + -8)" (* "*") (cast_expression "(int *)((int)puVar12 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -8)" (( "(") (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(int *)((int)puVar12 + 0x70)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x70)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x70)" (( "(") (binary_expression "(int)puVar12 + 0x70" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (expression_statement "*(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""warning: remote host sent a compound pathname \'%s\'"" (" """) (string_content "warning: remote host sent a compound pathname ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);" (assignment_expression "puVar2 = *(undefined4 **)((int)puVar12 + 0x4c)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined4 **)((int)puVar12 + 0x4c)" (* "*") (cast_expression "(undefined4 **)((int)puVar12 + 0x4c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + 0x4c)" (( "(") (binary_expression "(int)puVar12 + 0x4c" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x4c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x237f1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x237f1")) (; ";")) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" (identifier "FUN_0001fb60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)((int)puVar12 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -8)" (* "*") (cast_expression "(int *)((int)puVar12 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -8)" (( "(") (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""         renaming local file to \'%s\'"" (" """) (string_content "         renaming local file to ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23803;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23803" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23803")) (; ";")) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" (identifier "FUN_0001fb60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(char **)((int)puVar12 + -0xc) = ".";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""."" (" """) (string_content ".") (" """))) (; ";")) (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23816;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23816" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23816")) (; ";")) (expression_statement "sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));" (assignment_expression "sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" (identifier "sVar5") (= "=") (call_expression "strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" (identifier "strspn") (argument_list "(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" (( "(") (pointer_expression "*(char **)((int)puVar12 + -0x10)" (* "*") (cast_expression "(char **)((int)puVar12 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if (*(char *)(iVar4 + sVar5) == '\0') {\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar4 + sVar5) == '\0')" (( "(") (binary_expression "*(char *)(iVar4 + sVar5) == '\0'" (pointer_expression "*(char *)(iVar4 + sVar5)" (* "*") (cast_expression "(char *)(iVar4 + sVar5)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + sVar5)" (( "(") (binary_expression "iVar4 + sVar5" (identifier "iVar4") (+ "+") (identifier "sVar5")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;\n        FUN_000202d0();\n      }" ({ "{") (expression_statement "*(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";" (assignment_expression "*(char **)((int)puVar12 + -0x10) =\n             "security violation: remote host attempted to write to a \'.\' or \'..\' path!"" (pointer_expression "*(char **)((int)puVar12 + -0x10)" (* "*") (cast_expression "(char **)((int)puVar12 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""security violation: remote host attempted to write to a \'.\' or \'..\' path!"" (" """) (string_content "security violation: remote host attempted to write to a ") (escape_sequence "\'") (string_content ".") (escape_sequence "\'") (string_content " or ") (escape_sequence "\'") (string_content "..") (escape_sequence "\'") (string_content " path!") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c97" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23c97")) (; ";")) (expression_statement "FUN_000202d0();" (call_expression "FUN_000202d0()" (identifier "FUN_000202d0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)((int)puVar12 + 0x48) != 0) {\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }" (if "if") (parenthesized_expression "(*(int *)((int)puVar12 + 0x48) != 0)" (( "(") (binary_expression "*(int *)((int)puVar12 + 0x48) != 0" (pointer_expression "*(int *)((int)puVar12 + 0x48)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x48)" (( "(") (binary_expression "(int)puVar12 + 0x48" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x48")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)puVar12 + -0xc) = 1;\n        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;\n        iVar6 = FUN_0006ab00();\n        *(int *)((int)puVar12 + -0xc) = iVar6;\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;\n        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));\n        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);" (assignment_expression "*(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48)" (pointer_expression "*(int *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(int *)((int)puVar12 + 0x48)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x48)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x48)" (( "(") (binary_expression "(int)puVar12 + 0x48" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23836;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23836" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23836")) (; ";")) (expression_statement "iVar6 = FUN_0006ab00();" (assignment_expression "iVar6 = FUN_0006ab00()" (identifier "iVar6") (= "=") (call_expression "FUN_0006ab00()" (identifier "FUN_0006ab00") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar12 + -0xc) = iVar6;" (assignment_expression "*(int *)((int)puVar12 + -0xc) = iVar6" (pointer_expression "*(int *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23841;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23841" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23841")) (; ";")) (expression_statement "iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));" (assignment_expression "iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" (identifier "iVar7") (= "=") (call_expression "strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" (identifier "strcmp") (argument_list "(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc))" (( "(") (pointer_expression "*(char **)((int)puVar12 + -0x10)" (* "*") (cast_expression "(char **)((int)puVar12 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (if_statement "if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }" (if "if") (parenthesized_expression "((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0))" (( "(") (binary_expression "(iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)" (parenthesized_expression "(iVar7 != 0)" (( "(") (binary_expression "iVar7 != 0" (identifier "iVar7") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(DAT_000a91e4 == 0 && DAT_000a91f4 == 0)" (( "(") (binary_expression "DAT_000a91e4 == 0 && DAT_000a91f4 == 0" (binary_expression "DAT_000a91e4 == 0" (identifier "DAT_000a91e4") (== "==") (number_literal "0")) (&& "&&") (binary_expression "DAT_000a91f4 == 0" (identifier "DAT_000a91f4") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          *(int *)((int)puVar12 + -8) = iVar4;\n          *(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";\n          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;\n          FUN_0001fb60();\n          *(int *)((int)puVar12 + -8) = iVar6;\n          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;\n          FUN_0001fb60();\n          *(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";\n          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;\n          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;\n          FUN_0001fb60();\n          iVar4 = iVar6;\n        }" ({ "{") (expression_statement "*(int *)((int)puVar12 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -8)" (* "*") (cast_expression "(int *)((int)puVar12 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -8)" (( "(") (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "warning: remote host tried to write to a file called \'%s\'"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""warning: remote host tried to write to a file called \'%s\'"" (" """) (string_content "warning: remote host tried to write to a file called ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (" """))) (; ";")) (expression_statement "puVar2 = *(undefined4 **)((int)puVar12 + 0x54);" (assignment_expression "puVar2 = *(undefined4 **)((int)puVar12 + 0x54)" (identifier "puVar2") (= "=") (pointer_expression "*(undefined4 **)((int)puVar12 + 0x54)" (* "*") (cast_expression "(undefined4 **)((int)puVar12 + 0x54)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + 0x54)" (( "(") (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d36" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23d36")) (; ";")) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" (identifier "FUN_0001fb60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(int *)((int)puVar12 + -8) = iVar6;" (assignment_expression "*(int *)((int)puVar12 + -8) = iVar6" (pointer_expression "*(int *)((int)puVar12 + -8)" (* "*") (cast_expression "(int *)((int)puVar12 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -8)" (( "(") (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";" (assignment_expression "*(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""         when we requested a file called \'%s\'."" (" """) (string_content "         when we requested a file called ") (escape_sequence "\'") (string_content "%s") (escape_sequence "\'") (string_content ".") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d48" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23d48")) (; ";")) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" (identifier "FUN_0001fb60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "         If this is a wildcard, consider upgrading to SSH-2 or using"" (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""         If this is a wildcard, consider upgrading to SSH-2 or using"" (" """) (string_content "         If this is a wildcard, consider upgrading to SSH-2 or using") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d58" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23d58")) (; ";")) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" (identifier "FUN_0001fb60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";" (assignment_expression "*(char **)((int)puVar12 + -0xc) =\n               "         the \'-unsafe\' option. Renaming of this file has been disallowed."" (pointer_expression "*(char **)((int)puVar12 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar12 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""         the \'-unsafe\' option. Renaming of this file has been disallowed."" (" """) (string_content "         the ") (escape_sequence "\'") (string_content "-unsafe") (escape_sequence "\'") (string_content " option. Renaming of this file has been disallowed.") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *puVar2" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23d6a")) (; ";")) (expression_statement "FUN_0001fb60();" (call_expression "FUN_0001fb60()" (identifier "FUN_0001fb60") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar4 = iVar6;" (assignment_expression "iVar4 = iVar6" (identifier "iVar4") (= "=") (identifier "iVar6")) (; ";")) (} "}"))) (} "}"))) (if_statement "if (**(char **)((int)puVar12 + 0x38) == '\0') {\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }\n      else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" (if "if") (parenthesized_expression "(**(char **)((int)puVar12 + 0x38) == '\0')" (( "(") (binary_expression "**(char **)((int)puVar12 + 0x38) == '\0'" (pointer_expression "**(char **)((int)puVar12 + 0x38)" (* "*") (pointer_expression "*(char **)((int)puVar12 + 0x38)" (* "*") (cast_expression "(char **)((int)puVar12 + 0x38)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + 0x38)" (( "(") (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x38")) () ")"))))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *(int *)((int)puVar12 + -0x10) = iVar4;\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;\n        uVar8 = FUN_0001aad0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" ({ "{") (expression_statement "*(int *)((int)puVar12 + -0x10) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0x10) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(int *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c19" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23c19")) (; ";")) (expression_statement "uVar8 = FUN_0001aad0();" (assignment_expression "uVar8 = FUN_0001aad0()" (identifier "uVar8") (= "=") (call_expression "FUN_0001aad0()" (identifier "FUN_0001aad0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (} "}")) (else_clause "else {\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" (else "else") (compound_statement "{\n        *(int *)((int)puVar12 + -0xc) = iVar4;\n        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);\n        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;\n        uVar8 = FUN_0006abc0();\n        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;\n      }" ({ "{") (expression_statement "*(int *)((int)puVar12 + -0xc) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + -0xc) = iVar4" (pointer_expression "*(int *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(int *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);" (assignment_expression "*(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38)" (pointer_expression "*(char **)((int)puVar12 + -0x10)" (* "*") (cast_expression "(char **)((int)puVar12 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(char **)((int)puVar12 + 0x38)" (* "*") (cast_expression "(char **)((int)puVar12 + 0x38)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + 0x38)" (( "(") (binary_expression "(int)puVar12 + 0x38" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x38")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23877;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23877" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23877")) (; ";")) (expression_statement "uVar8 = FUN_0006abc0();" (assignment_expression "uVar8 = FUN_0006abc0()" (identifier "uVar8") (= "=") (call_expression "FUN_0006abc0()" (identifier "FUN_0006abc0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + 0x20) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x20) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (} "}")))) (} "}")))) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x2388a" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2388a")) (; ";")) (expression_statement "uVar9 = FUN_0006a7e0();" (assignment_expression "uVar9 = FUN_0006a7e0()" (identifier "uVar9") (= "=") (call_expression "FUN_0006a7e0()" (identifier "FUN_0006a7e0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(int *)((int)puVar12 + 0x68) != 2) break;" (if "if") (parenthesized_expression "(*(int *)((int)puVar12 + 0x68) != 2)" (( "(") (binary_expression "*(int *)((int)puVar12 + 0x68) != 2" (pointer_expression "*(int *)((int)puVar12 + 0x68)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x68)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x68)" (( "(") (binary_expression "(int)puVar12 + 0x68" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x68")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if ((uVar9 & 0xfffffffd) != 0) {\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }" (if "if") (parenthesized_expression "((uVar9 & 0xfffffffd) != 0)" (( "(") (binary_expression "(uVar9 & 0xfffffffd) != 0" (parenthesized_expression "(uVar9 & 0xfffffffd)" (( "(") (binary_expression "uVar9 & 0xfffffffd" (identifier "uVar9") (& "&") (number_literal "0xfffffffd")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar11 = "%s: Not a directory";\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n      puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n      goto LAB_00023c6e;\n    }" ({ "{") (expression_statement "pcVar11 = "%s: Not a directory";" (assignment_expression "pcVar11 = "%s: Not a directory"" (identifier "pcVar11") (= "=") (string_literal ""%s: Not a directory"" (" """) (string_content "%s: Not a directory") (" """))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (goto_statement "goto LAB_00023c6e;" (goto "goto") (statement_identifier "LAB_00023c6e") (; ";")) (} "}"))) (if_statement "if (uVar9 == 0) {\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;\n      iVar4 = FUN_0006ab90();\n      if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238af;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238af" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x238af")) (; ";")) (expression_statement "iVar4 = FUN_0006ab90();" (assignment_expression "iVar4 = FUN_0006ab90()" (identifier "iVar4") (= "=") (call_expression "FUN_0006ab90()" (identifier "FUN_0006ab90") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar11 = "%s: Cannot create directory";\n        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);\n        puVar16 = (undefined4 *)((int)puVar12 + -0xc);\n        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;\n        goto LAB_00023c6e;\n      }" ({ "{") (expression_statement "pcVar11 = "%s: Cannot create directory";" (assignment_expression "pcVar11 = "%s: Cannot create directory"" (identifier "pcVar11") (= "=") (string_literal ""%s: Cannot create directory"" (" """) (string_content "%s: Cannot create directory") (" """))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (goto_statement "goto LAB_00023c6e;" (goto "goto") (statement_identifier "LAB_00023c6e") (; ";")) (} "}"))) (} "}"))) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -4) = 0x238c7;" (assignment_expression "*(undefined4 *)((int)puVar12 + -4) = 0x238c7" (pointer_expression "*(undefined4 *)((int)puVar12 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -4)" (( "(") (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x238c7")) (; ";")) (expression_statement "FUN_00023700();" (call_expression "FUN_00023700()" (identifier "FUN_00023700") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x238d0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x238d0")) (; ";")) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" (identifier "FUN_0001b250") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x74)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x74)" (( "(") (binary_expression "(int)puVar12 + 0x74" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23908;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23908" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23908")) (; ";")) (expression_statement "iVar4 = FUN_0006a480();" (assignment_expression "iVar4 = FUN_0006a480()" (identifier "iVar4") (= "=") (call_expression "FUN_0006a480()" (identifier "FUN_0006a480") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar12 + 0x24) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + 0x24) = iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x24)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x24)" (( "(") (binary_expression "(int)puVar12 + 0x24" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 != 0) {\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;\n    iVar4 = FUN_00023280();\n    *(int *)((int)puVar12 + 0x40) = iVar4;\n    if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;\n    FUN_0001b250();\n    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);\n    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;\n    FUN_0006a6e0();\nLAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }\n    return;\n  }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar12 + -4) = 0x2391c;" (assignment_expression "*(undefined4 *)((int)puVar12 + -4) = 0x2391c" (pointer_expression "*(undefined4 *)((int)puVar12 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -4)" (( "(") (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x2391c")) (; ";")) (expression_statement "iVar4 = FUN_00023280();" (assignment_expression "iVar4 = FUN_00023280()" (identifier "iVar4") (= "=") (call_expression "FUN_00023280()" (identifier "FUN_00023280") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(int *)((int)puVar12 + 0x40) = iVar4;" (assignment_expression "*(int *)((int)puVar12 + 0x40) = iVar4" (pointer_expression "*(int *)((int)puVar12 + 0x40)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x40)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x40)" (( "(") (binary_expression "(int)puVar12 + 0x40" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (if_statement "if (iVar4 == 0) {\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar1 = (undefined1 *)((int)puVar12 + 0x58);\n      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -8) = 0;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;\n      FUN_00018c30();\n      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);\n      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);\n      *(undefined4 *)((int)puVar12 + -0x14) = 0;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;\n      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));\n      *(time_t *)((int)puVar12 + 0x4c) = tVar10;\n      *(undefined4 *)((int)puVar12 + -0x10) = 1;\n      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;\n      uVar8 = FUN_0006ab00();\n      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;\n      *(undefined4 *)((int)puVar12 + -0xc) = 0;\n      *(undefined4 *)((int)puVar12 + -0x10) = 0;\n      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;\n      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;\n      FUN_00018c30();\n      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);\n      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);\n      puVar13 = (undefined4 *)((int)puVar12 + -8);\n      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);\n      *(char **)((int)puVar12 + 0x34) = "Lost connection";\nLAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );\n    }" ({ "{") (expression_statement "puVar1 = (undefined1 *)((int)puVar12 + 0x58);" (assignment_expression "puVar1 = (undefined1 *)((int)puVar12 + 0x58)" (identifier "puVar1") (= "=") (cast_expression "(undefined1 *)((int)puVar12 + 0x58)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x58)" (( "(") (binary_expression "(int)puVar12 + 0x58" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x58")) () ")")))) (; ";")) (expression_statement "*(undefined1 **)((int)puVar12 + 0x14) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + 0x14) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + 0x14)" (* "*") (cast_expression "(undefined1 **)((int)puVar12 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + 0x14)" (( "(") (binary_expression "(int)puVar12 + 0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -8) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -8) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -8)" (( "(") (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)((int)puVar12 + -0x10) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + -0x10) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined1 **)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x2393d" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x2393d")) (; ";")) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" (identifier "FUN_00018c30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x2c)" (( "(") (binary_expression "(int)puVar12 + 0x2c" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x54)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x54)" (( "(") (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58)" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x30)" (( "(") (binary_expression "(int)puVar12 + 0x30" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x58)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x58)" (( "(") (binary_expression "(int)puVar12 + 0x58" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23954;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23954" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x18)" (( "(") (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x23954")) (; ";")) (expression_statement "tVar10 = time(*(time_t **)((int)puVar12 + -0x14));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar12 + -0x14))" (identifier "tVar10") (= "=") (call_expression "time(*(time_t **)((int)puVar12 + -0x14))" (identifier "time") (argument_list "(*(time_t **)((int)puVar12 + -0x14))" (( "(") (pointer_expression "*(time_t **)((int)puVar12 + -0x14)" (* "*") (cast_expression "(time_t **)((int)puVar12 + -0x14)" (( "(") (type_descriptor "time_t **" (type_identifier "time_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) () ")")))) (; ";")) (expression_statement "*(time_t *)((int)puVar12 + 0x4c) = tVar10;" (assignment_expression "*(time_t *)((int)puVar12 + 0x4c) = tVar10" (pointer_expression "*(time_t *)((int)puVar12 + 0x4c)" (* "*") (cast_expression "(time_t *)((int)puVar12 + 0x4c)" (( "(") (type_descriptor "time_t *" (type_identifier "time_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x4c)" (( "(") (binary_expression "(int)puVar12 + 0x4c" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x4c")) () ")")))) (= "=") (identifier "tVar10")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x1c)" (( "(") (binary_expression "(int)puVar12 + 0x1c" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23965;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23965" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x18)" (( "(") (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x23965")) (; ";")) (expression_statement "uVar8 = FUN_0006ab00();" (assignment_expression "uVar8 = FUN_0006ab00()" (identifier "uVar8") (= "=") (call_expression "FUN_0006ab00()" (identifier "FUN_0006ab00") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + 0x40) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + 0x40) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + 0x40)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x40)" (( "(") (binary_expression "(int)puVar12 + 0x40" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)((int)puVar12 + -0x14) = puVar1;" (assignment_expression "*(undefined1 **)((int)puVar12 + -0x14) = puVar1" (pointer_expression "*(undefined1 **)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined1 **)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "puVar1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x18) = 0x23976;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x18) = 0x23976" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x18)" (( "(") (binary_expression "(int)puVar12 + -0x18" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x23976")) (; ";")) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" (identifier "FUN_00018c30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x50);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x50)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x50)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x50)" (( "(") (binary_expression "(int)puVar12 + 0x50" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "uVar17 = *(undefined4 *)((int)puVar12 + 0x54);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar12 + 0x54)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x54)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x54)" (( "(") (binary_expression "(int)puVar12 + 0x54" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "puVar13 = (undefined4 *)((int)puVar12 + -8);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar12 + -8)" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)((int)puVar12 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -8)" (( "(") (binary_expression "(int)puVar12 + -8" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "*(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);" (assignment_expression "*(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84)" (pointer_expression "*(undefined1 **)((int)puVar12 + 0x14)" (* "*") (cast_expression "(undefined1 **)((int)puVar12 + 0x14)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + 0x14)" (( "(") (binary_expression "(int)puVar12 + 0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (cast_expression "(undefined1 *)((int)puVar12 + 0x84)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x84)" (( "(") (binary_expression "(int)puVar12 + 0x84" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x84")) () ")")))) (; ";")) (expression_statement "*(char **)((int)puVar12 + 0x34) = "Lost connection";" (assignment_expression "*(char **)((int)puVar12 + 0x34) = "Lost connection"" (pointer_expression "*(char **)((int)puVar12 + 0x34)" (* "*") (cast_expression "(char **)((int)puVar12 + 0x34)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + 0x34)" (( "(") (binary_expression "(int)puVar12 + 0x34" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x34")) () ")")))) (= "=") (string_literal ""Lost connection"" (" """) (string_content "Lost connection") (" """))) (; ";")) (labeled_statement "LAB_000239a0:\n      do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );" (statement_identifier "LAB_000239a0") (: ":") (do_statement "do {\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      } while( true );" (do "do") (compound_statement "{\n        puVar13[-1] = puVar13[0x1f];\n        puVar13[-2] = puVar13[0x1e];\n        puVar13[-3] = uVar17;\n        puVar13[-4] = uVar8;\n        puVar13[-5] = 0x239af;\n        iVar4 = FUN_00018c90();\n        if (-1 < iVar4) goto LAB_00023af8;\n        puVar13[-2] = 0x8000;\n        puVar13[-3] = 0;\n        uVar3 = puVar13[5];\n        puVar13[-4] = uVar3;\n        puVar13[-5] = 0x239ce;\n        FUN_00018c30();\n        puVar13[1] = puVar13[0x15];\n        puVar13[2] = puVar13[0x16];\n        puVar13[-5] = uVar17;\n        puVar13[-6] = uVar8;\n        puVar13[-7] = puVar13[0x1e];\n        puVar13[-8] = puVar13[0x1d];\n        puVar13[-9] = uVar3;\n        puVar13[-10] = 0x239f4;\n        FUN_00018cc0();\n        puVar13[-3] = puVar13[0x15];\n        puVar13[-4] = puVar13[0x14];\n        puVar13[-5] = puVar13[1];\n        puVar13[-6] = *puVar13;\n        puVar13[-7] = 0x23a0c;\n        iVar4 = FUN_00018c90();\n        puVar14 = puVar13 + -2;\n        if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }\n        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;\n        iVar4 = FUN_000233b0();\n        if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }\n        if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }\n        *(int *)((int)puVar14 + -4) = iVar4;\n        *(undefined4 *)((int)puVar14 + -8) = uVar17;\n        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;\n        FUN_00018c70();\n        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n        puVar13 = (undefined4 *)((int)puVar14 + -4);\n        *(undefined4 *)((int)puVar14 + 0x14) = 1;\n      }" ({ "{") (expression_statement "puVar13[-1] = puVar13[0x1f];" (assignment_expression "puVar13[-1] = puVar13[0x1f]" (subscript_expression "puVar13[-1]" (identifier "puVar13") ([ "[") (number_literal "-1") (] "]")) (= "=") (subscript_expression "puVar13[0x1f]" (identifier "puVar13") ([ "[") (number_literal "0x1f") (] "]"))) (; ";")) (expression_statement "puVar13[-2] = puVar13[0x1e];" (assignment_expression "puVar13[-2] = puVar13[0x1e]" (subscript_expression "puVar13[-2]" (identifier "puVar13") ([ "[") (number_literal "-2") (] "]")) (= "=") (subscript_expression "puVar13[0x1e]" (identifier "puVar13") ([ "[") (number_literal "0x1e") (] "]"))) (; ";")) (expression_statement "puVar13[-3] = uVar17;" (assignment_expression "puVar13[-3] = uVar17" (subscript_expression "puVar13[-3]" (identifier "puVar13") ([ "[") (number_literal "-3") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "puVar13[-4] = uVar8;" (assignment_expression "puVar13[-4] = uVar8" (subscript_expression "puVar13[-4]" (identifier "puVar13") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar13[-5] = 0x239af;" (assignment_expression "puVar13[-5] = 0x239af" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x239af")) (; ";")) (expression_statement "iVar4 = FUN_00018c90();" (assignment_expression "iVar4 = FUN_00018c90()" (identifier "iVar4") (= "=") (call_expression "FUN_00018c90()" (identifier "FUN_00018c90") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (-1 < iVar4) goto LAB_00023af8;" (if "if") (parenthesized_expression "(-1 < iVar4)" (( "(") (binary_expression "-1 < iVar4" (number_literal "-1") (< "<") (identifier "iVar4")) () ")")) (goto_statement "goto LAB_00023af8;" (goto "goto") (statement_identifier "LAB_00023af8") (; ";"))) (expression_statement "puVar13[-2] = 0x8000;" (assignment_expression "puVar13[-2] = 0x8000" (subscript_expression "puVar13[-2]" (identifier "puVar13") ([ "[") (number_literal "-2") (] "]")) (= "=") (number_literal "0x8000")) (; ";")) (expression_statement "puVar13[-3] = 0;" (assignment_expression "puVar13[-3] = 0" (subscript_expression "puVar13[-3]" (identifier "puVar13") ([ "[") (number_literal "-3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar3 = puVar13[5];" (assignment_expression "uVar3 = puVar13[5]" (identifier "uVar3") (= "=") (subscript_expression "puVar13[5]" (identifier "puVar13") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "puVar13[-4] = uVar3;" (assignment_expression "puVar13[-4] = uVar3" (subscript_expression "puVar13[-4]" (identifier "puVar13") ([ "[") (number_literal "-4") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar13[-5] = 0x239ce;" (assignment_expression "puVar13[-5] = 0x239ce" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x239ce")) (; ";")) (expression_statement "FUN_00018c30();" (call_expression "FUN_00018c30()" (identifier "FUN_00018c30") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13[1] = puVar13[0x15];" (assignment_expression "puVar13[1] = puVar13[0x15]" (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]")) (= "=") (subscript_expression "puVar13[0x15]" (identifier "puVar13") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "puVar13[2] = puVar13[0x16];" (assignment_expression "puVar13[2] = puVar13[0x16]" (subscript_expression "puVar13[2]" (identifier "puVar13") ([ "[") (number_literal "2") (] "]")) (= "=") (subscript_expression "puVar13[0x16]" (identifier "puVar13") ([ "[") (number_literal "0x16") (] "]"))) (; ";")) (expression_statement "puVar13[-5] = uVar17;" (assignment_expression "puVar13[-5] = uVar17" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "puVar13[-6] = uVar8;" (assignment_expression "puVar13[-6] = uVar8" (subscript_expression "puVar13[-6]" (identifier "puVar13") ([ "[") (number_literal "-6") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar13[-7] = puVar13[0x1e];" (assignment_expression "puVar13[-7] = puVar13[0x1e]" (subscript_expression "puVar13[-7]" (identifier "puVar13") ([ "[") (number_literal "-7") (] "]")) (= "=") (subscript_expression "puVar13[0x1e]" (identifier "puVar13") ([ "[") (number_literal "0x1e") (] "]"))) (; ";")) (expression_statement "puVar13[-8] = puVar13[0x1d];" (assignment_expression "puVar13[-8] = puVar13[0x1d]" (subscript_expression "puVar13[-8]" (identifier "puVar13") ([ "[") (number_literal "-8") (] "]")) (= "=") (subscript_expression "puVar13[0x1d]" (identifier "puVar13") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (expression_statement "puVar13[-9] = uVar3;" (assignment_expression "puVar13[-9] = uVar3" (subscript_expression "puVar13[-9]" (identifier "puVar13") ([ "[") (number_literal "-9") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar13[-10] = 0x239f4;" (assignment_expression "puVar13[-10] = 0x239f4" (subscript_expression "puVar13[-10]" (identifier "puVar13") ([ "[") (number_literal "-10") (] "]")) (= "=") (number_literal "0x239f4")) (; ";")) (expression_statement "FUN_00018cc0();" (call_expression "FUN_00018cc0()" (identifier "FUN_00018cc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13[-3] = puVar13[0x15];" (assignment_expression "puVar13[-3] = puVar13[0x15]" (subscript_expression "puVar13[-3]" (identifier "puVar13") ([ "[") (number_literal "-3") (] "]")) (= "=") (subscript_expression "puVar13[0x15]" (identifier "puVar13") ([ "[") (number_literal "0x15") (] "]"))) (; ";")) (expression_statement "puVar13[-4] = puVar13[0x14];" (assignment_expression "puVar13[-4] = puVar13[0x14]" (subscript_expression "puVar13[-4]" (identifier "puVar13") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar13[0x14]" (identifier "puVar13") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (expression_statement "puVar13[-5] = puVar13[1];" (assignment_expression "puVar13[-5] = puVar13[1]" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (subscript_expression "puVar13[1]" (identifier "puVar13") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "puVar13[-6] = *puVar13;" (assignment_expression "puVar13[-6] = *puVar13" (subscript_expression "puVar13[-6]" (identifier "puVar13") ([ "[") (number_literal "-6") (] "]")) (= "=") (pointer_expression "*puVar13" (* "*") (identifier "puVar13"))) (; ";")) (expression_statement "puVar13[-7] = 0x23a0c;" (assignment_expression "puVar13[-7] = 0x23a0c" (subscript_expression "puVar13[-7]" (identifier "puVar13") ([ "[") (number_literal "-7") (] "]")) (= "=") (number_literal "0x23a0c")) (; ";")) (expression_statement "iVar4 = FUN_00018c90();" (assignment_expression "iVar4 = FUN_00018c90()" (identifier "iVar4") (= "=") (call_expression "FUN_00018c90()" (identifier "FUN_00018c90") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar14 = puVar13 + -2;" (assignment_expression "puVar14 = puVar13 + -2" (identifier "puVar14") (= "=") (binary_expression "puVar13 + -2" (identifier "puVar13") (+ "+") (number_literal "-2"))) (; ";")) (if_statement "if (0 < iVar4) {\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n          puVar13[-6] = uVar17;\n          puVar13[-7] = uVar8;\n          puVar13[-8] = puVar13[0x1d];\n          puVar13[-9] = puVar13[0x1c];\n          puVar13[-10] = uVar3;\n          puVar13[-0xb] = 0x23a2c;\n          FUN_00018cc0();\n          puVar13[-1] = puVar13[0x13];\n          *puVar13 = puVar13[0x14];\n          puVar14 = puVar13 + -3;\n        }" ({ "{") (expression_statement "puVar13[-6] = uVar17;" (assignment_expression "puVar13[-6] = uVar17" (subscript_expression "puVar13[-6]" (identifier "puVar13") ([ "[") (number_literal "-6") (] "]")) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "puVar13[-7] = uVar8;" (assignment_expression "puVar13[-7] = uVar8" (subscript_expression "puVar13[-7]" (identifier "puVar13") ([ "[") (number_literal "-7") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "puVar13[-8] = puVar13[0x1d];" (assignment_expression "puVar13[-8] = puVar13[0x1d]" (subscript_expression "puVar13[-8]" (identifier "puVar13") ([ "[") (number_literal "-8") (] "]")) (= "=") (subscript_expression "puVar13[0x1d]" (identifier "puVar13") ([ "[") (number_literal "0x1d") (] "]"))) (; ";")) (expression_statement "puVar13[-9] = puVar13[0x1c];" (assignment_expression "puVar13[-9] = puVar13[0x1c]" (subscript_expression "puVar13[-9]" (identifier "puVar13") ([ "[") (number_literal "-9") (] "]")) (= "=") (subscript_expression "puVar13[0x1c]" (identifier "puVar13") ([ "[") (number_literal "0x1c") (] "]"))) (; ";")) (expression_statement "puVar13[-10] = uVar3;" (assignment_expression "puVar13[-10] = uVar3" (subscript_expression "puVar13[-10]" (identifier "puVar13") ([ "[") (number_literal "-10") (] "]")) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "puVar13[-0xb] = 0x23a2c;" (assignment_expression "puVar13[-0xb] = 0x23a2c" (subscript_expression "puVar13[-0xb]" (identifier "puVar13") ([ "[") (number_literal "-0xb") (] "]")) (= "=") (number_literal "0x23a2c")) (; ";")) (expression_statement "FUN_00018cc0();" (call_expression "FUN_00018cc0()" (identifier "FUN_00018cc0") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13[-1] = puVar13[0x13];" (assignment_expression "puVar13[-1] = puVar13[0x13]" (subscript_expression "puVar13[-1]" (identifier "puVar13") ([ "[") (number_literal "-1") (] "]")) (= "=") (subscript_expression "puVar13[0x13]" (identifier "puVar13") ([ "[") (number_literal "0x13") (] "]"))) (; ";")) (expression_statement "*puVar13 = puVar13[0x14];" (assignment_expression "*puVar13 = puVar13[0x14]" (pointer_expression "*puVar13" (* "*") (identifier "puVar13")) (= "=") (subscript_expression "puVar13[0x14]" (identifier "puVar13") ([ "[") (number_literal "0x14") (] "]"))) (; ";")) (expression_statement "puVar14 = puVar13 + -3;" (assignment_expression "puVar14 = puVar13 + -3" (identifier "puVar14") (= "=") (binary_expression "puVar13 + -3" (identifier "puVar13") (+ "+") (number_literal "-3"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0xc)" (( "(") (binary_expression "(int)puVar14 + 0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x1c)" (( "(") (binary_expression "(int)puVar14 + 0x1c" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23a4f")) (; ";")) (expression_statement "iVar4 = FUN_000233b0();" (assignment_expression "iVar4 = FUN_000233b0()" (identifier "iVar4") (= "=") (call_expression "FUN_000233b0()" (identifier "FUN_000233b0") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar4 < 1) {\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }" (if "if") (parenthesized_expression "(iVar4 < 1)" (( "(") (binary_expression "iVar4 < 1" (identifier "iVar4") (< "<") (number_literal "1")) () ")")) (compound_statement "{\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;\n          FUN_000202d0();\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x3c)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x3c)" (( "(") (binary_expression "(int)puVar14 + 0x3c" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x3c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aec" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23aec")) (; ";")) (expression_statement "FUN_000202d0();" (call_expression "FUN_000202d0()" (identifier "FUN_000202d0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(int *)((int)puVar14 + 0x18) == 0) {\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }" (if "if") (parenthesized_expression "(*(int *)((int)puVar14 + 0x18) == 0)" (( "(") (binary_expression "*(int *)((int)puVar14 + 0x18) == 0" (pointer_expression "*(int *)((int)puVar14 + 0x18)" (* "*") (cast_expression "(int *)((int)puVar14 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x18)" (( "(") (binary_expression "(int)puVar14 + 0x18" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x18")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          *(int *)((int)puVar14 + -8) = iVar4;\n          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);\n          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);\n          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;\n          iVar6 = FUN_0006a610();\n          if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }\n          if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }\n        }" ({ "{") (expression_statement "*(int *)((int)puVar14 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -8)" (* "*") (cast_expression "(int *)((int)puVar14 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x1c)" (( "(") (binary_expression "(int)puVar14 + 0x1c" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x24)" (( "(") (binary_expression "(int)puVar14 + 0x24" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a75" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23a75")) (; ";")) (expression_statement "iVar6 = FUN_0006a610();" (assignment_expression "iVar6 = FUN_0006a610()" (identifier "iVar6") (= "=") (call_expression "FUN_0006a610()" (identifier "FUN_0006a610") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar6 == iVar4) {\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }" (if "if") (parenthesized_expression "(iVar6 == iVar4)" (( "(") (binary_expression "iVar6 == iVar4" (identifier "iVar6") (== "==") (identifier "iVar4")) () ")")) (compound_statement "{\n            if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }\nLAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;\n            *(undefined4 *)((int)puVar14 + -8) = uVar17;\n            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;\n            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;\n            FUN_00018c70();\n            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);\n            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);\n            puVar13 = (undefined4 *)((int)puVar14 + -4);\n            goto LAB_000239a0;\n          }" ({ "{") (if_statement "if (DAT_000a903c != 0) {\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }" (if "if") (parenthesized_expression "(DAT_000a903c != 0)" (( "(") (binary_expression "DAT_000a903c != 0" (identifier "DAT_000a903c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n              *(int *)((int)puVar14 + -4) = iVar4;\n              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;\n              FUN_00018c70();\n              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);\n              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);\n              *(undefined4 *)((int)puVar14 + -0x14) = 0;\n              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));\n              puVar1 = (undefined1 *)((int)puVar14 + -4);\n              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }\n              puVar14 = (undefined4 *)puVar1;\n              *(undefined4 *)((int)puVar14 + -0x10) = 0;\n              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;\n              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));\n              *(time_t *)((int)puVar14 + 0x40) = tVar10;\n              *(time_t *)((int)puVar14 + -0x14) = tVar10;\n              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);\n              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);\n              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;\n              FUN_0001fe40();\n            }" ({ "{") (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" (* "*") (cast_expression "(int *)((int)puVar14 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -4)" (( "(") (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34)" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x34)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x34)" (( "(") (binary_expression "(int)puVar14 + 0x34" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x30)" (( "(") (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x14)" (( "(") (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23b5a")) (; ";")) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x2c)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x2c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x2c)" (( "(") (binary_expression "(int)puVar14 + 0x2c" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x2c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x54)" (( "(") (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58)" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x30)" (( "(") (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x30")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x58)" (( "(") (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b71" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x18)" (( "(") (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x23b71")) (; ";")) (expression_statement "tVar10 = time(*(time_t **)((int)puVar14 + -0x14));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar14 + -0x14))" (identifier "tVar10") (= "=") (call_expression "time(*(time_t **)((int)puVar14 + -0x14))" (identifier "time") (argument_list "(*(time_t **)((int)puVar14 + -0x14))" (( "(") (pointer_expression "*(time_t **)((int)puVar14 + -0x14)" (* "*") (cast_expression "(time_t **)((int)puVar14 + -0x14)" (( "(") (type_descriptor "time_t **" (type_identifier "time_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) () ")")))) (; ";")) (expression_statement "puVar1 = (undefined1 *)((int)puVar14 + -4);" (assignment_expression "puVar1 = (undefined1 *)((int)puVar14 + -4)" (identifier "puVar1") (= "=") (cast_expression "(undefined1 *)((int)puVar14 + -4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -4)" (( "(") (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (if_statement "if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }" (if "if") (parenthesized_expression "(tVar10 <= *(int *)((int)puVar14 + 0x3c))" (( "(") (binary_expression "tVar10 <= *(int *)((int)puVar14 + 0x3c)" (identifier "tVar10") (<= "<=") (pointer_expression "*(int *)((int)puVar14 + 0x3c)" (* "*") (cast_expression "(int *)((int)puVar14 + 0x3c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x3c)" (( "(") (binary_expression "(int)puVar14 + 0x3c" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x3c")) () ")"))))) () ")")) (compound_statement "{\n                *(int *)((int)puVar14 + -8) = iVar4;\n                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;\n                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);\n                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;\n                FUN_00018c70();\n                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);\n                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);\n                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);\n                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);\n                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;\n                iVar6 = FUN_00018c90();\n                puVar15 = (undefined1 *)((int)puVar14 + -8);\n                puVar14 = (undefined4 *)((int)puVar14 + -8);\n                puVar1 = puVar15;\n                if (iVar6 != 0) goto LAB_00023abe;\n              }" ({ "{") (expression_statement "*(int *)((int)puVar14 + -8) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -8) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -8)" (* "*") (cast_expression "(int *)((int)puVar14 + -8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x10)" (( "(") (binary_expression "(int)puVar14 + 0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = 0x23b86" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x18)" (( "(") (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (number_literal "0x23b86")) (; ";")) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x74)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x74)" (( "(") (binary_expression "(int)puVar14 + 0x74" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x74")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x70)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x70)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x70)" (( "(") (binary_expression "(int)puVar14 + 0x70" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x70")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x54)" (( "(") (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x18)" (( "(") (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x50)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x50)" (( "(") (binary_expression "(int)puVar14 + 0x50" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x1c)" (( "(") (binary_expression "(int)puVar14 + -0x1c" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (number_literal "0x23b9e")) (; ";")) (expression_statement "iVar6 = FUN_00018c90();" (assignment_expression "iVar6 = FUN_00018c90()" (identifier "iVar6") (= "=") (call_expression "FUN_00018c90()" (identifier "FUN_00018c90") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar15 = (undefined1 *)((int)puVar14 + -8);" (assignment_expression "puVar15 = (undefined1 *)((int)puVar14 + -8)" (identifier "puVar15") (= "=") (cast_expression "(undefined1 *)((int)puVar14 + -8)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "puVar14 = (undefined4 *)((int)puVar14 + -8);" (assignment_expression "puVar14 = (undefined4 *)((int)puVar14 + -8)" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)((int)puVar14 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (; ";")) (expression_statement "puVar1 = puVar15;" (assignment_expression "puVar1 = puVar15" (identifier "puVar1") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (iVar6 != 0) goto LAB_00023abe;" (if "if") (parenthesized_expression "(iVar6 != 0)" (( "(") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00023abe;" (goto "goto") (statement_identifier "LAB_00023abe") (; ";"))) (} "}"))) (expression_statement "puVar14 = (undefined4 *)puVar1;" (assignment_expression "puVar14 = (undefined4 *)puVar1" (identifier "puVar14") (= "=") (cast_expression "(undefined4 *)puVar1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar1"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = 0;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = 0" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23bb3")) (; ";")) (expression_statement "tVar10 = time(*(time_t **)((int)puVar14 + -0x10));" (assignment_expression "tVar10 = time(*(time_t **)((int)puVar14 + -0x10))" (identifier "tVar10") (= "=") (call_expression "time(*(time_t **)((int)puVar14 + -0x10))" (identifier "time") (argument_list "(*(time_t **)((int)puVar14 + -0x10))" (( "(") (pointer_expression "*(time_t **)((int)puVar14 + -0x10)" (* "*") (cast_expression "(time_t **)((int)puVar14 + -0x10)" (( "(") (type_descriptor "time_t **" (type_identifier "time_t") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) () ")")))) (; ";")) (expression_statement "*(time_t *)((int)puVar14 + 0x40) = tVar10;" (assignment_expression "*(time_t *)((int)puVar14 + 0x40) = tVar10" (pointer_expression "*(time_t *)((int)puVar14 + 0x40)" (* "*") (cast_expression "(time_t *)((int)puVar14 + 0x40)" (( "(") (type_descriptor "time_t *" (type_identifier "time_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x40)" (( "(") (binary_expression "(int)puVar14 + 0x40" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "tVar10")) (; ";")) (expression_statement "*(time_t *)((int)puVar14 + -0x14) = tVar10;" (assignment_expression "*(time_t *)((int)puVar14 + -0x14) = tVar10" (pointer_expression "*(time_t *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(time_t *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "time_t *" (type_identifier "time_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "tVar10")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x18)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x18)" (( "(") (binary_expression "(int)puVar14 + -0x18" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x50)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x50)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x50)" (( "(") (binary_expression "(int)puVar14 + 0x50" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x50")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x1c)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x1c)" (( "(") (binary_expression "(int)puVar14 + -0x1c" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x34)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x34)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x34)" (( "(") (binary_expression "(int)puVar14 + 0x34" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x34")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x20)" (( "(") (binary_expression "(int)puVar14 + -0x20" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x30)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x30)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x30)" (( "(") (binary_expression "(int)puVar14 + 0x30" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x24)" (( "(") (binary_expression "(int)puVar14 + -0x24" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (number_literal "0x23bdb")) (; ";")) (expression_statement "FUN_0001fe40();" (call_expression "FUN_0001fe40()" (identifier "FUN_0001fe40") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_00023abe:\n            *(int *)((int)puVar14 + -4) = iVar4;" (statement_identifier "LAB_00023abe") (: ":") (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" (* "*") (cast_expression "(int *)((int)puVar14 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -4)" (( "(") (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar4")) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x14)" (( "(") (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23aca" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23aca")) (; ";")) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar14 + 0x54)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x54)" (( "(") (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "uVar17 = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar14 + 0x58)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x58)" (( "(") (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "puVar13 = (undefined4 *)((int)puVar14 + -4);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar14 + -4)" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)((int)puVar14 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -4)" (( "(") (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (goto_statement "goto LAB_000239a0;" (goto "goto") (statement_identifier "LAB_000239a0") (; ";")) (} "}"))) (if_statement "if (DAT_000a903c != 0) {\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }" (if "if") (parenthesized_expression "(DAT_000a903c != 0)" (( "(") (binary_expression "DAT_000a903c != 0" (identifier "DAT_000a903c") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";\n            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);\n            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";\n            *(undefined4 *)((int)puVar14 + -0x10) = 1;\n            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;\n            __printf_chk();\n          }" ({ "{") (expression_statement "*(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";" (assignment_expression "*(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file"" (pointer_expression "*(char **)((int)puVar14 + -4)" (* "*") (cast_expression "(char **)((int)puVar14 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar14 + -4)" (( "(") (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal ""Write error.. waiting for end of file"" (" """) (string_content "Write error.. waiting for end of file") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44)" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x44)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x44)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x44)" (( "(") (binary_expression "(int)puVar14 + 0x44" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x44")) () ")"))))) (; ";")) (expression_statement "*(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";" (assignment_expression "*(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n"" (pointer_expression "*(char **)((int)puVar14 + -0xc)" (* "*") (cast_expression "(char **)((int)puVar14 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""\r%-25.25s | %50s\n"" (" """) (escape_sequence "\r") (string_content "%-25.25s | %50s") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = 1;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = 1" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23c01" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23c01")) (; ";")) (expression_statement "__printf_chk();" (call_expression "__printf_chk()" (identifier "__printf_chk") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "*(int *)((int)puVar14 + -4) = iVar4;" (assignment_expression "*(int *)((int)puVar14 + -4) = iVar4" (pointer_expression "*(int *)((int)puVar14 + -4)" (* "*") (cast_expression "(int *)((int)puVar14 + -4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -4)" (( "(") (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -8) = uVar17;" (assignment_expression "*(undefined4 *)((int)puVar14 + -8) = uVar17" (pointer_expression "*(undefined4 *)((int)puVar14 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -8)" (( "(") (binary_expression "(int)puVar14 + -8" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar17")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar14 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0xc)" (( "(") (binary_expression "(int)puVar14 + -0xc" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14)" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x10)" (( "(") (binary_expression "(int)puVar14 + -0x10" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x14)" (( "(") (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;" (assignment_expression "*(undefined4 *)((int)puVar14 + -0x14) = 0x23a96" (pointer_expression "*(undefined4 *)((int)puVar14 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -0x14)" (( "(") (binary_expression "(int)puVar14 + -0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23a96")) (; ";")) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)puVar14 + 0x54);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar14 + 0x54)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x54)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x54)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x54)" (( "(") (binary_expression "(int)puVar14 + 0x54" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (expression_statement "uVar17 = *(undefined4 *)((int)puVar14 + 0x58);" (assignment_expression "uVar17 = *(undefined4 *)((int)puVar14 + 0x58)" (identifier "uVar17") (= "=") (pointer_expression "*(undefined4 *)((int)puVar14 + 0x58)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x58)" (( "(") (binary_expression "(int)puVar14 + 0x58" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x58")) () ")"))))) (; ";")) (expression_statement "puVar13 = (undefined4 *)((int)puVar14 + -4);" (assignment_expression "puVar13 = (undefined4 *)((int)puVar14 + -4)" (identifier "puVar13") (= "=") (cast_expression "(undefined4 *)((int)puVar14 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + -4)" (( "(") (binary_expression "(int)puVar14 + -4" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "-4")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar14 + 0x14) = 1;" (assignment_expression "*(undefined4 *)((int)puVar14 + 0x14) = 1" (pointer_expression "*(undefined4 *)((int)puVar14 + 0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar14 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar14 + 0x14)" (( "(") (binary_expression "(int)puVar14 + 0x14" (cast_expression "(int)puVar14" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar14")) (+ "+") (number_literal "0x14")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";"))) (} "}"))) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c31" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23c31")) (; ";")) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" (identifier "FUN_0001b250") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24)" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x10)" (( "(") (binary_expression "(int)puVar12 + -0x10" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x24)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x24)" (( "(") (binary_expression "(int)puVar12 + 0x24" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b" (pointer_expression "*(undefined4 *)((int)puVar12 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0x14)" (( "(") (binary_expression "(int)puVar12 + -0x14" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x23c3b")) (; ";")) (expression_statement "FUN_0006a6e0();" (call_expression "FUN_0006a6e0()" (identifier "FUN_0006a6e0") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_00023c40:\n    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" (statement_identifier "LAB_00023c40") (: ":") (if_statement "if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" (if "if") (parenthesized_expression "(*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)((int)puVar12 + 0x808c)" (* "*") (cast_expression "(int *)((int)puVar12 + 0x808c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x808c)" (( "(") (binary_expression "(int)puVar12 + 0x808c" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x808c")) () ")")))) (!= "!=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n                    \n      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;\n      FUN_0006f2a0();\n    }" ({ "{") (expression_statement "*(undefined **)((int)puVar12 + -4) = &UNK_00023d77;" (assignment_expression "*(undefined **)((int)puVar12 + -4) = &UNK_00023d77" (pointer_expression "*(undefined **)((int)puVar12 + -4)" (* "*") (cast_expression "(undefined **)((int)puVar12 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar12 + -4)" (( "(") (binary_expression "(int)puVar12 + -4" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "&UNK_00023d77" (& "&") (identifier "UNK_00023d77"))) (; ";")) (expression_statement "FUN_0006f2a0();" (call_expression "FUN_0006f2a0()" (identifier "FUN_0006f2a0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar11 = "%s: Cannot create file";" (assignment_expression "pcVar11 = "%s: Cannot create file"" (identifier "pcVar11") (= "=") (string_literal ""%s: Cannot create file"" (" """) (string_content "%s: Cannot create file") (" """))) (; ";")) (expression_statement "uVar8 = *(undefined4 *)((int)puVar12 + 0x20);" (assignment_expression "uVar8 = *(undefined4 *)((int)puVar12 + 0x20)" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)((int)puVar12 + 0x20)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + 0x20)" (( "(") (binary_expression "(int)puVar12 + 0x20" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "puVar16 = (undefined4 *)((int)puVar12 + -0xc);" (assignment_expression "puVar16 = (undefined4 *)((int)puVar12 + -0xc)" (identifier "puVar16") (= "=") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar12 + -0xc) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar12 + -0xc) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar12 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)puVar12 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar12 + -0xc)" (( "(") (binary_expression "(int)puVar12 + -0xc" (cast_expression "(int)puVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar12")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (goto_statement "goto LAB_00023c6e;" (goto "goto") (statement_identifier "LAB_00023c6e") (; ";")) (labeled_statement "LAB_00023af8:\n  if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" (statement_identifier "LAB_00023af8") (: ":") (if_statement "if (puVar13[0x20] != 0) {\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" (if "if") (parenthesized_expression "(puVar13[0x20] != 0)" (( "(") (binary_expression "puVar13[0x20] != 0" (subscript_expression "puVar13[0x20]" (identifier "puVar13") ([ "[") (number_literal "0x20") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar13[-2] = puVar13[0x21];\n    puVar13[-3] = puVar13[0x22];\n    puVar13[-4] = puVar13[9];\n    puVar13[-5] = 0x23cda;\n    FUN_0006a680();\n  }" ({ "{") (expression_statement "puVar13[-2] = puVar13[0x21];" (assignment_expression "puVar13[-2] = puVar13[0x21]" (subscript_expression "puVar13[-2]" (identifier "puVar13") ([ "[") (number_literal "-2") (] "]")) (= "=") (subscript_expression "puVar13[0x21]" (identifier "puVar13") ([ "[") (number_literal "0x21") (] "]"))) (; ";")) (expression_statement "puVar13[-3] = puVar13[0x22];" (assignment_expression "puVar13[-3] = puVar13[0x22]" (subscript_expression "puVar13[-3]" (identifier "puVar13") ([ "[") (number_literal "-3") (] "]")) (= "=") (subscript_expression "puVar13[0x22]" (identifier "puVar13") ([ "[") (number_literal "0x22") (] "]"))) (; ";")) (expression_statement "puVar13[-4] = puVar13[9];" (assignment_expression "puVar13[-4] = puVar13[9]" (subscript_expression "puVar13[-4]" (identifier "puVar13") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar13[9]" (identifier "puVar13") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "puVar13[-5] = 0x23cda;" (assignment_expression "puVar13[-5] = 0x23cda" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x23cda")) (; ";")) (expression_statement "FUN_0006a680();" (call_expression "FUN_0006a680()" (identifier "FUN_0006a680") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar13[-4] = puVar13[9];" (assignment_expression "puVar13[-4] = puVar13[9]" (subscript_expression "puVar13[-4]" (identifier "puVar13") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar13[9]" (identifier "puVar13") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "puVar13[-5] = 0x23b13;" (assignment_expression "puVar13[-5] = 0x23b13" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x23b13")) (; ";")) (expression_statement "FUN_0006a6e0();" (call_expression "FUN_0006a6e0()" (identifier "FUN_0006a6e0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (puVar13[6] == 0) {\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }" (if "if") (parenthesized_expression "(puVar13[6] == 0)" (( "(") (binary_expression "puVar13[6] == 0" (subscript_expression "puVar13[6]" (identifier "puVar13") ([ "[") (number_literal "6") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    puVar13[-1] = 0x23b27;\n    FUN_00023580();\n    puVar13[-4] = puVar13[8];\n    puVar13[-5] = 0x23b33;\n    FUN_0001b250();\n    puVar13[-4] = puVar13[0x1b];\n    puVar13[-5] = 0x23b3d;\n    FUN_0001b250();\n    puVar12 = puVar13;\n    goto LAB_00023788;\n  }" ({ "{") (expression_statement "puVar13[-1] = 0x23b27;" (assignment_expression "puVar13[-1] = 0x23b27" (subscript_expression "puVar13[-1]" (identifier "puVar13") ([ "[") (number_literal "-1") (] "]")) (= "=") (number_literal "0x23b27")) (; ";")) (expression_statement "FUN_00023580();" (call_expression "FUN_00023580()" (identifier "FUN_00023580") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13[-4] = puVar13[8];" (assignment_expression "puVar13[-4] = puVar13[8]" (subscript_expression "puVar13[-4]" (identifier "puVar13") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar13[8]" (identifier "puVar13") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar13[-5] = 0x23b33;" (assignment_expression "puVar13[-5] = 0x23b33" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x23b33")) (; ";")) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" (identifier "FUN_0001b250") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar13[-4] = puVar13[0x1b];" (assignment_expression "puVar13[-4] = puVar13[0x1b]" (subscript_expression "puVar13[-4]" (identifier "puVar13") ([ "[") (number_literal "-4") (] "]")) (= "=") (subscript_expression "puVar13[0x1b]" (identifier "puVar13") ([ "[") (number_literal "0x1b") (] "]"))) (; ";")) (expression_statement "puVar13[-5] = 0x23b3d;" (assignment_expression "puVar13[-5] = 0x23b3d" (subscript_expression "puVar13[-5]" (identifier "puVar13") ([ "[") (number_literal "-5") (] "]")) (= "=") (number_literal "0x23b3d")) (; ";")) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" (identifier "FUN_0001b250") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar12 = puVar13;" (assignment_expression "puVar12 = puVar13" (identifier "puVar12") (= "=") (identifier "puVar13")) (; ";")) (goto_statement "goto LAB_00023788;" (goto "goto") (statement_identifier "LAB_00023788") (; ";")) (} "}"))) (expression_statement "pcVar11 = "%s: Write error";" (assignment_expression "pcVar11 = "%s: Write error"" (identifier "pcVar11") (= "=") (string_literal ""%s: Write error"" (" """) (string_content "%s: Write error") (" """))) (; ";")) (expression_statement "uVar8 = puVar13[8];" (assignment_expression "uVar8 = puVar13[8]" (identifier "uVar8") (= "=") (subscript_expression "puVar13[8]" (identifier "puVar13") ([ "[") (number_literal "8") (] "]"))) (; ";")) (expression_statement "puVar16 = puVar13 + -3;" (assignment_expression "puVar16 = puVar13 + -3" (identifier "puVar16") (= "=") (binary_expression "puVar13 + -3" (identifier "puVar13") (+ "+") (number_literal "-3"))) (; ";")) (expression_statement "puVar13[-3] = uVar8;" (assignment_expression "puVar13[-3] = uVar8" (subscript_expression "puVar13[-3]" (identifier "puVar13") ([ "[") (number_literal "-3") (] "]")) (= "=") (identifier "uVar8")) (; ";")) (labeled_statement "LAB_00023c6e:\n  *(char **)((int)puVar16 + -4) = pcVar11;" (statement_identifier "LAB_00023c6e") (: ":") (expression_statement "*(char **)((int)puVar16 + -4) = pcVar11;" (assignment_expression "*(char **)((int)puVar16 + -4) = pcVar11" (pointer_expression "*(char **)((int)puVar16 + -4)" (* "*") (cast_expression "(char **)((int)puVar16 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)puVar16 + -4)" (( "(") (binary_expression "(int)puVar16 + -4" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pcVar11")) (; ";"))) (expression_statement "*(undefined4 *)((int)puVar16 + -8) = 0x23c74;" (assignment_expression "*(undefined4 *)((int)puVar16 + -8) = 0x23c74" (pointer_expression "*(undefined4 *)((int)puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + -8)" (( "(") (binary_expression "(int)puVar16 + -8" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x23c74")) (; ";")) (expression_statement "FUN_00020c10();" (call_expression "FUN_00020c10()" (identifier "FUN_00020c10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined4 *)((int)puVar16 + -4) = uVar8;" (assignment_expression "*(undefined4 *)((int)puVar16 + -4) = uVar8" (pointer_expression "*(undefined4 *)((int)puVar16 + -4)" (* "*") (cast_expression "(undefined4 *)((int)puVar16 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + -4)" (( "(") (binary_expression "(int)puVar16 + -4" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)((int)puVar16 + -8) = 0x23c7c;" (assignment_expression "*(undefined4 *)((int)puVar16 + -8) = 0x23c7c" (pointer_expression "*(undefined4 *)((int)puVar16 + -8)" (* "*") (cast_expression "(undefined4 *)((int)puVar16 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + -8)" (( "(") (binary_expression "(int)puVar16 + -8" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x23c7c")) (; ";")) (expression_statement "FUN_0001b250();" (call_expression "FUN_0001b250()" (identifier "FUN_0001b250") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "puVar12 = (undefined4 *)((int)puVar16 + 0xc);" (assignment_expression "puVar12 = (undefined4 *)((int)puVar16 + 0xc)" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)((int)puVar16 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)puVar16 + 0xc)" (( "(") (binary_expression "(int)puVar16 + 0xc" (cast_expression "(int)puVar16" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar16")) (+ "+") (number_literal "0xc")) () ")")))) (; ";")) (goto_statement "goto LAB_00023788;" (goto "goto") (statement_identifier "LAB_00023788") (; ";")) (} "}")))

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

void __regparm3 function_1(char *targ,char *var_15)

{
  int var_40;
  type_1 x;
  type_1 x_00;
  type_1 size;
  type_1 y;
  type_1 y_00;
  type_1 done;
  type_1 x_01;
  type_1 x_02;
  type_1 x_03;
  type_1 x_04;
  type_1 x_05;
  type_1 x_06;
  type_1 x_07;
  type_1 y_01;
  type_1 y_02;
  type_1 y_03;
  bool bVar2;
  type_2 *puVar3;
  type_3 uVar4;
  type_3 uVar5;
  type_3 uVar6;
  int var_3;
  char *var_12;
  size_t sVar9;
  char *__s2;
  type_4 var_19;
  type_5 *var_23;
  type_3 uVar11;
  type_3 var_33;
  type_3 var_32;
  type_6 var_36;
  int var_1;
  type_3 local_80a0;
  char *local_808c;
  int var_9;
  type_3 local_807c;
  type_3 local_8078;
  type_3 local_806c;
  type_3 var_28;
  type_3 local_8050;
  type_7 act;
  char transbuf [32768];
  
  var_40 = *(int *)(var_1 + 0x14);
  var_3 = var_2(targ);
  var_9 = 1;
  if ((var_3 != 2) && (var_9 = var_4, var_4 != 0)) {
    var_5("%s: Not a directory",targ);
    var_9 = 0;
  }
  if (var_6 == 0) {
    var_7();
  }
  puVar3 = PTR_stderr_000a8fa4;
  bVar2 = false;
LAB_00023788:
  do {
    var_3 = var_8(&act);
    if ((var_3 != 0) || (act.action == 3)) goto LAB_00023c40;
  } while (act.action == 4);
  if (var_9 == 0) {
    local_808c = var_10(targ);
  }
  else {
    var_12 = var_11(act.name,1);
    if (act.name != var_12) {
      var_13(*(type_8 **)puVar3,"warning: remote host sent a compound pathname \'%s\'",act.name);
      var_13(*(type_8 **)puVar3,"         renaming local file to \'%s\'",var_12);
    }
    sVar9 = var_14(var_12,".");
    if (var_12[sVar9] == '\0') {
      var_5("security violation: remote host attempted to write to a \'.\' or \'..\' path!");
    }
    if (var_15 != (char *)0x0) {
      __s2 = var_11(var_15,1);
      var_3 = var_16(var_12,__s2);
      if ((var_3 != 0) && (var_6 == 0 && var_17 == 0)) {
        var_13(*(type_8 **)puVar3,"warning: remote host tried to write to a file called \'%s\'",
                  var_12);
        var_13(*(type_8 **)puVar3,"         when we requested a file called \'%s\'.",__s2);
        var_13(*(type_8 **)puVar3,
                  "         If this is a wildcard, consider upgrading to SSH-2 or using");
        var_13(*(type_8 **)puVar3,
                  "         the \'-unsafe\' option. Renaming of this file has been disallowed.");
        var_12 = __s2;
      }
    }
    if (*targ == '\0') {
      local_808c = var_10(var_12);
    }
    else {
      local_808c = var_18(targ,var_12);
    }
  }
  var_19 = var_2(local_808c);
  if (act.action == 2) {
    if ((var_19 & 0xfffffffd) != 0) {
      var_12 = "%s: Not a directory";
      goto LAB_00023c6e;
    }
    if ((var_19 != 0) || (var_3 = var_20(local_808c), var_3 != 0)) {
      function_1(local_808c,(char *)0x0);
      var_21(local_808c);
      goto LAB_00023788;
    }
    var_12 = "%s: Cannot create directory";
  }
  else {
    var_23 = var_22(local_808c,act.permissions);
    if (var_23 != (type_5 *)0x0) {
      var_3 = var_24();
      if (var_3 == 0) {
        var_25(0,0);
        local_807c = var_28;
        local_8078 = local_8050;
        uVar11 = var_26((type_6 *)0x0);
        var_12 = var_11(local_808c,1);
        var_25(0,0);
        local_806c = 0;
LAB_000239a0:
        do {
          uVar5 = local_8050;
          uVar4 = var_28;
          x_01.lo = local_8050;
          x_01.hi = var_28;
          y_01.lo = act.size.lo;
          y_01.hi = act.size.hi;
          var_3 = var_27(x_01,y_01);
          if (-1 < var_3) goto LAB_00023af8;
          var_25(0,0x8000);
          var_32 = local_8050;
          var_33 = var_28;
          local_80a0 = local_8050;
          x.lo = act.size.hi;
          x.hi = (type_3)&var_28;
          y.lo = uVar4;
          y.hi = act.size.lo;
          var_29(x,y);
          x_02.lo = var_32;
          x_02.hi = var_33;
          y_02.lo = local_8050;
          y_02.hi = var_28;
          var_3 = var_27(x_02,y_02);
          if (0 < var_3) {
            x_00.lo = act.size.hi;
            x_00.hi = (type_3)&var_28;
            y_00.lo = uVar4;
            y_00.hi = act.size.lo;
            var_29(x_00,y_00);
            local_80a0 = local_8050;
          }
          var_33 = var_30(transbuf,local_80a0);
          if ((int)var_33 < 1) {
            var_5("Lost connection");
          }
          if (!bVar2) {
            var_32 = var_31(var_23,transbuf,var_33);
            if (var_32 == var_33) {
              if (var_34 != 0) {
                x_06.lo = local_8078;
                x_06.hi = local_807c;
                var_35(x_06,var_33);
                uVar6 = local_8050;
                var_32 = var_28;
                local_807c = var_28;
                local_8078 = local_8050;
                var_36 = var_26((type_6 *)0x0);
                if (var_36 <= (int)local_806c) {
                  x_07.lo = uVar5;
                  x_07.hi = uVar4;
                  var_35(x_07,var_33);
                  x_03.lo = local_8050;
                  x_03.hi = var_28;
                  y_03.lo = act.size.lo;
                  y_03.hi = act.size.hi;
                  var_3 = var_27(x_03,y_03);
                  if (var_3 != 0) goto LAB_00023abe;
                }
                local_806c = var_26((type_6 *)0x0);
                size.lo = uVar6;
                size.hi = var_32;
                done.lo = local_806c;
                done.hi = uVar11;
                var_37(var_12,size,done,act.size.hi,act.size.lo);
              }
LAB_00023abe:
              x_05.lo = uVar5;
              x_05.hi = uVar4;
              var_35(x_05,var_33);
              goto LAB_000239a0;
            }
            if (var_34 != 0) {
              var_38(1,"\r%-25.25s | %50s\n",var_12,"Write error.. waiting for end of file");
            }
          }
          x_04.lo = uVar5;
          x_04.hi = uVar4;
          var_35(x_04,var_33);
          bVar2 = true;
        } while( true );
      }
      var_21(local_808c);
      var_39(var_23);
LAB_00023c40:
      if (var_40 != *(int *)(var_1 + 0x14)) {
                    /* WARNING: Subroutine does not return */
        var_41();
      }
      return;
    }
    var_12 = "%s: Cannot create file";
  }
  goto LAB_00023c6e;
LAB_00023af8:
  if (act.settime != 0) {
    var_42(var_23,act.mtime,act.atime);
  }
  var_39(var_23);
  if (!bVar2) {
    var_43();
    var_21(local_808c);
    var_21(act.buf);
    goto LAB_00023788;
  }
  var_12 = "%s: Write error";
LAB_00023c6e:
  var_44(var_12,local_808c);
  var_21(local_808c);
  goto LAB_00023788;
}


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

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

void __regparm3 MASKED(undefined4 param_1,undefined4 param_2)

{
  undefined1 *puVar1;
  undefined4 *puVar2;
  undefined4 uVar3;
  int iVar4;
  size_t sVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  uint uVar9;
  time_t tVar10;
  char *pcVar11;
  undefined4 *puVar12;
  undefined4 *puVar13;
  undefined4 *puVar14;
  undefined1 *puVar15;
  undefined4 *puVar16;
  undefined4 uVar17;
  int in_GS_OFFSET;
  undefined1 local_80ac [24];
  undefined4 local_8094;
  undefined1 *local_8084;
  int local_8080;
  undefined4 local_8074;
  undefined4 local_8064;
  undefined *local_8060;
  undefined *local_8058;
  undefined1 local_8044 [32804];
  undefined4 local_20;
  undefined4 uStack_14;
  
  uStack_14 = 0x2370b;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  local_8074 = param_1;
  local_8064 = param_2;
  iVar4 = FUN_0006a7e0(param_1);
  local_8080 = 1;
  if ((iVar4 != 2) && (local_8080 = DAT_000a91fc, DAT_000a91fc != 0)) {
    FUN_000202d0("%s: Not a directory",param_1);
    local_8080 = 0;
  }
  if (DAT_000a91e4 == 0) {
    FUN_00020d40();
  }
  local_8094 = 0;
  local_8084 = local_8044;
  local_8058 = PTR_stderr_000a8fa4;
  local_8060 = PTR_stderr_000a8fa4;
  puVar12 = (undefined4 *)local_80ac;
LAB_00023788:
  while( true ) {
    do {
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x28);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x23794;
      iVar4 = FUN_00022750();
      if ((iVar4 != 0) || (*(int *)((int)puVar12 + 0x68) == 3)) goto LAB_00023c40;
    } while (*(int *)((int)puVar12 + 0x68) == 4);
    if (*(int *)((int)puVar12 + 0x2c) == 0) {
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x38);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x238ec;
      uVar8 = FUN_0001aad0();
      *(undefined4 *)((int)puVar12 + 0x20) = uVar8;
    }
    else {
      *(undefined4 *)((int)puVar12 + -0xc) = 1;
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x70);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x237cb;
      iVar4 = FUN_0006ab00();
      if (*(int *)((int)puVar12 + 0x70) != iVar4) {
        *(int *)((int)puVar12 + -8) = *(int *)((int)puVar12 + 0x70);
        *(char **)((int)puVar12 + -0xc) = "warning: remote host sent a compound pathname \'%s\'";
        puVar2 = *(undefined4 **)((int)puVar12 + 0x4c);
        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x237f1;
        FUN_0001fb60();
        *(int *)((int)puVar12 + -8) = iVar4;
        *(char **)((int)puVar12 + -0xc) = "         renaming local file to \'%s\'";
        *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23803;
        FUN_0001fb60();
      }
      *(char **)((int)puVar12 + -0xc) = ".";
      *(int *)((int)puVar12 + -0x10) = iVar4;
      *(undefined4 *)((int)puVar12 + -0x14) = 0x23816;
      sVar5 = strspn(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));
      if (*(char *)(iVar4 + sVar5) == '\0') {
        *(char **)((int)puVar12 + -0x10) =
             "security violation: remote host attempted to write to a \'.\' or \'..\' path!";
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c97;
        FUN_000202d0();
      }
      if (*(int *)((int)puVar12 + 0x48) != 0) {
        *(undefined4 *)((int)puVar12 + -0xc) = 1;
        *(int *)((int)puVar12 + -0x10) = *(int *)((int)puVar12 + 0x48);
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23836;
        iVar6 = FUN_0006ab00();
        *(int *)((int)puVar12 + -0xc) = iVar6;
        *(int *)((int)puVar12 + -0x10) = iVar4;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23841;
        iVar7 = strcmp(*(char **)((int)puVar12 + -0x10),*(char **)((int)puVar12 + -0xc));
        if ((iVar7 != 0) && (DAT_000a91e4 == 0 && DAT_000a91f4 == 0)) {
          *(int *)((int)puVar12 + -8) = iVar4;
          *(char **)((int)puVar12 + -0xc) =
               "warning: remote host tried to write to a file called \'%s\'";
          puVar2 = *(undefined4 **)((int)puVar12 + 0x54);
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d36;
          FUN_0001fb60();
          *(int *)((int)puVar12 + -8) = iVar6;
          *(char **)((int)puVar12 + -0xc) = "         when we requested a file called \'%s\'.";
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d48;
          FUN_0001fb60();
          *(char **)((int)puVar12 + -0xc) =
               "         If this is a wildcard, consider upgrading to SSH-2 or using";
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d58;
          FUN_0001fb60();
          *(char **)((int)puVar12 + -0xc) =
               "         the \'-unsafe\' option. Renaming of this file has been disallowed.";
          *(undefined4 *)((int)puVar12 + -0x10) = *puVar2;
          *(undefined4 *)((int)puVar12 + -0x14) = 0x23d6a;
          FUN_0001fb60();
          iVar4 = iVar6;
        }
      }
      if (**(char **)((int)puVar12 + 0x38) == '\0') {
        *(int *)((int)puVar12 + -0x10) = iVar4;
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23c19;
        uVar8 = FUN_0001aad0();
        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;
      }
      else {
        *(int *)((int)puVar12 + -0xc) = iVar4;
        *(char **)((int)puVar12 + -0x10) = *(char **)((int)puVar12 + 0x38);
        *(undefined4 *)((int)puVar12 + -0x14) = 0x23877;
        uVar8 = FUN_0006abc0();
        *(undefined4 *)((int)puVar12 + 0x20) = uVar8;
      }
    }
    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
    *(undefined4 *)((int)puVar12 + -0x14) = 0x2388a;
    uVar9 = FUN_0006a7e0();
    if (*(int *)((int)puVar12 + 0x68) != 2) break;
    if ((uVar9 & 0xfffffffd) != 0) {
      pcVar11 = "%s: Not a directory";
      uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
      puVar16 = (undefined4 *)((int)puVar12 + -0xc);
      *(undefined4 *)((int)puVar12 + -0xc) = uVar8;
      goto LAB_00023c6e;
    }
    if (uVar9 == 0) {
      *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
      *(undefined4 *)((int)puVar12 + -0x14) = 0x238af;
      iVar4 = FUN_0006ab90();
      if (iVar4 == 0) {
        pcVar11 = "%s: Cannot create directory";
        uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
        puVar16 = (undefined4 *)((int)puVar12 + -0xc);
        *(undefined4 *)((int)puVar12 + -0xc) = uVar8;
        goto LAB_00023c6e;
      }
    }
    uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
    *(undefined4 *)((int)puVar12 + -4) = 0x238c7;
    MASKED();
    *(undefined4 *)((int)puVar12 + -0x10) = uVar8;
    *(undefined4 *)((int)puVar12 + -0x14) = 0x238d0;
    FUN_0001b250();
  }
  *(undefined4 *)((int)puVar12 + -0xc) = *(undefined4 *)((int)puVar12 + 0x74);
  *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
  *(undefined4 *)((int)puVar12 + -0x14) = 0x23908;
  iVar4 = FUN_0006a480();
  *(int *)((int)puVar12 + 0x24) = iVar4;
  if (iVar4 != 0) {
    *(undefined4 *)((int)puVar12 + -4) = 0x2391c;
    iVar4 = FUN_00023280();
    *(int *)((int)puVar12 + 0x40) = iVar4;
    if (iVar4 == 0) {
      puVar1 = (undefined1 *)((int)puVar12 + 0x58);
      *(undefined1 **)((int)puVar12 + 0x14) = puVar1;
      *(undefined4 *)((int)puVar12 + -8) = 0;
      *(undefined4 *)((int)puVar12 + -0xc) = 0;
      *(undefined1 **)((int)puVar12 + -0x10) = puVar1;
      *(undefined4 *)((int)puVar12 + -0x14) = 0x2393d;
      FUN_00018c30();
      *(undefined4 *)((int)puVar12 + 0x2c) = *(undefined4 *)((int)puVar12 + 0x54);
      *(undefined4 *)((int)puVar12 + 0x30) = *(undefined4 *)((int)puVar12 + 0x58);
      *(undefined4 *)((int)puVar12 + -0x14) = 0;
      *(undefined4 *)((int)puVar12 + -0x18) = 0x23954;
      tVar10 = time(*(time_t **)((int)puVar12 + -0x14));
      *(time_t *)((int)puVar12 + 0x4c) = tVar10;
      *(undefined4 *)((int)puVar12 + -0x10) = 1;
      *(undefined4 *)((int)puVar12 + -0x14) = *(undefined4 *)((int)puVar12 + 0x1c);
      *(undefined4 *)((int)puVar12 + -0x18) = 0x23965;
      uVar8 = FUN_0006ab00();
      *(undefined4 *)((int)puVar12 + 0x40) = uVar8;
      *(undefined4 *)((int)puVar12 + -0xc) = 0;
      *(undefined4 *)((int)puVar12 + -0x10) = 0;
      *(undefined1 **)((int)puVar12 + -0x14) = puVar1;
      *(undefined4 *)((int)puVar12 + -0x18) = 0x23976;
      FUN_00018c30();
      uVar8 = *(undefined4 *)((int)puVar12 + 0x50);
      uVar17 = *(undefined4 *)((int)puVar12 + 0x54);
      puVar13 = (undefined4 *)((int)puVar12 + -8);
      *(undefined1 **)((int)puVar12 + 0x14) = (undefined1 *)((int)puVar12 + 0x84);
      *(char **)((int)puVar12 + 0x34) = "Lost connection";
LAB_000239a0:
      do {
        puVar13[-1] = puVar13[0x1f];
        puVar13[-2] = puVar13[0x1e];
        puVar13[-3] = uVar17;
        puVar13[-4] = uVar8;
        puVar13[-5] = 0x239af;
        iVar4 = FUN_00018c90();
        if (-1 < iVar4) goto LAB_00023af8;
        puVar13[-2] = 0x8000;
        puVar13[-3] = 0;
        uVar3 = puVar13[5];
        puVar13[-4] = uVar3;
        puVar13[-5] = 0x239ce;
        FUN_00018c30();
        puVar13[1] = puVar13[0x15];
        puVar13[2] = puVar13[0x16];
        puVar13[-5] = uVar17;
        puVar13[-6] = uVar8;
        puVar13[-7] = puVar13[0x1e];
        puVar13[-8] = puVar13[0x1d];
        puVar13[-9] = uVar3;
        puVar13[-10] = 0x239f4;
        FUN_00018cc0();
        puVar13[-3] = puVar13[0x15];
        puVar13[-4] = puVar13[0x14];
        puVar13[-5] = puVar13[1];
        puVar13[-6] = *puVar13;
        puVar13[-7] = 0x23a0c;
        iVar4 = FUN_00018c90();
        puVar14 = puVar13 + -2;
        if (0 < iVar4) {
          puVar13[-6] = uVar17;
          puVar13[-7] = uVar8;
          puVar13[-8] = puVar13[0x1d];
          puVar13[-9] = puVar13[0x1c];
          puVar13[-10] = uVar3;
          puVar13[-0xb] = 0x23a2c;
          FUN_00018cc0();
          puVar13[-1] = puVar13[0x13];
          *puVar13 = puVar13[0x14];
          puVar14 = puVar13 + -3;
        }
        *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0xc);
        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x1c);
        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a4f;
        iVar4 = FUN_000233b0();
        if (iVar4 < 1) {
          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x3c);
          *(undefined4 *)((int)puVar14 + -0x14) = 0x23aec;
          FUN_000202d0();
        }
        if (*(int *)((int)puVar14 + 0x18) == 0) {
          *(int *)((int)puVar14 + -8) = iVar4;
          *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x1c);
          *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x24);
          *(undefined4 *)((int)puVar14 + -0x14) = 0x23a75;
          iVar6 = FUN_0006a610();
          if (iVar6 == iVar4) {
            if (DAT_000a903c != 0) {
              *(int *)((int)puVar14 + -4) = iVar4;
              *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x34);
              *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x30);
              *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);
              *(undefined4 *)((int)puVar14 + -0x14) = 0x23b5a;
              FUN_00018c70();
              *(undefined4 *)((int)puVar14 + 0x2c) = *(undefined4 *)((int)puVar14 + 0x54);
              *(undefined4 *)((int)puVar14 + 0x30) = *(undefined4 *)((int)puVar14 + 0x58);
              *(undefined4 *)((int)puVar14 + -0x14) = 0;
              *(undefined4 *)((int)puVar14 + -0x18) = 0x23b71;
              tVar10 = time(*(time_t **)((int)puVar14 + -0x14));
              puVar1 = (undefined1 *)((int)puVar14 + -4);
              if (tVar10 <= *(int *)((int)puVar14 + 0x3c)) {
                *(int *)((int)puVar14 + -8) = iVar4;
                *(undefined4 *)((int)puVar14 + -0xc) = uVar17;
                *(undefined4 *)((int)puVar14 + -0x10) = uVar8;
                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x10);
                *(undefined4 *)((int)puVar14 + -0x18) = 0x23b86;
                FUN_00018c70();
                *(undefined4 *)((int)puVar14 + -0xc) = *(undefined4 *)((int)puVar14 + 0x74);
                *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x70);
                *(undefined4 *)((int)puVar14 + -0x14) = *(undefined4 *)((int)puVar14 + 0x54);
                *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);
                *(undefined4 *)((int)puVar14 + -0x1c) = 0x23b9e;
                iVar6 = FUN_00018c90();
                puVar15 = (undefined1 *)((int)puVar14 + -8);
                puVar14 = (undefined4 *)((int)puVar14 + -8);
                puVar1 = puVar15;
                if (iVar6 != 0) goto LAB_00023abe;
              }
              puVar14 = (undefined4 *)puVar1;
              *(undefined4 *)((int)puVar14 + -0x10) = 0;
              *(undefined4 *)((int)puVar14 + -0x14) = 0x23bb3;
              tVar10 = time(*(time_t **)((int)puVar14 + -0x10));
              *(time_t *)((int)puVar14 + 0x40) = tVar10;
              *(time_t *)((int)puVar14 + -0x14) = tVar10;
              *(undefined4 *)((int)puVar14 + -0x18) = *(undefined4 *)((int)puVar14 + 0x50);
              *(undefined4 *)((int)puVar14 + -0x1c) = *(undefined4 *)((int)puVar14 + 0x34);
              *(undefined4 *)((int)puVar14 + -0x20) = *(undefined4 *)((int)puVar14 + 0x30);
              *(undefined4 *)((int)puVar14 + -0x24) = 0x23bdb;
              FUN_0001fe40();
            }
LAB_00023abe:
            *(int *)((int)puVar14 + -4) = iVar4;
            *(undefined4 *)((int)puVar14 + -8) = uVar17;
            *(undefined4 *)((int)puVar14 + -0xc) = uVar8;
            *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);
            *(undefined4 *)((int)puVar14 + -0x14) = 0x23aca;
            FUN_00018c70();
            uVar8 = *(undefined4 *)((int)puVar14 + 0x54);
            uVar17 = *(undefined4 *)((int)puVar14 + 0x58);
            puVar13 = (undefined4 *)((int)puVar14 + -4);
            goto LAB_000239a0;
          }
          if (DAT_000a903c != 0) {
            *(char **)((int)puVar14 + -4) = "Write error.. waiting for end of file";
            *(undefined4 *)((int)puVar14 + -8) = *(undefined4 *)((int)puVar14 + 0x44);
            *(char **)((int)puVar14 + -0xc) = "\r%-25.25s | %50s\n";
            *(undefined4 *)((int)puVar14 + -0x10) = 1;
            *(undefined4 *)((int)puVar14 + -0x14) = 0x23c01;
            __printf_chk();
          }
        }
        *(int *)((int)puVar14 + -4) = iVar4;
        *(undefined4 *)((int)puVar14 + -8) = uVar17;
        *(undefined4 *)((int)puVar14 + -0xc) = uVar8;
        *(undefined4 *)((int)puVar14 + -0x10) = *(undefined4 *)((int)puVar14 + 0x14);
        *(undefined4 *)((int)puVar14 + -0x14) = 0x23a96;
        FUN_00018c70();
        uVar8 = *(undefined4 *)((int)puVar14 + 0x54);
        uVar17 = *(undefined4 *)((int)puVar14 + 0x58);
        puVar13 = (undefined4 *)((int)puVar14 + -4);
        *(undefined4 *)((int)puVar14 + 0x14) = 1;
      } while( true );
    }
    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x20);
    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c31;
    FUN_0001b250();
    *(undefined4 *)((int)puVar12 + -0x10) = *(undefined4 *)((int)puVar12 + 0x24);
    *(undefined4 *)((int)puVar12 + -0x14) = 0x23c3b;
    FUN_0006a6e0();
LAB_00023c40:
    if (*(int *)((int)puVar12 + 0x808c) != *(int *)(in_GS_OFFSET + 0x14)) {
                    /* WARNING: Subroutine does not return */
      *(undefined **)((int)puVar12 + -4) = &UNK_00023d77;
      FUN_0006f2a0();
    }
    return;
  }
  pcVar11 = "%s: Cannot create file";
  uVar8 = *(undefined4 *)((int)puVar12 + 0x20);
  puVar16 = (undefined4 *)((int)puVar12 + -0xc);
  *(undefined4 *)((int)puVar12 + -0xc) = uVar8;
  goto LAB_00023c6e;
LAB_00023af8:
  if (puVar13[0x20] != 0) {
    puVar13[-2] = puVar13[0x21];
    puVar13[-3] = puVar13[0x22];
    puVar13[-4] = puVar13[9];
    puVar13[-5] = 0x23cda;
    FUN_0006a680();
  }
  puVar13[-4] = puVar13[9];
  puVar13[-5] = 0x23b13;
  FUN_0006a6e0();
  if (puVar13[6] == 0) {
    puVar13[-1] = 0x23b27;
    FUN_00023580();
    puVar13[-4] = puVar13[8];
    puVar13[-5] = 0x23b33;
    FUN_0001b250();
    puVar13[-4] = puVar13[0x1b];
    puVar13[-5] = 0x23b3d;
    FUN_0001b250();
    puVar12 = puVar13;
    goto LAB_00023788;
  }
  pcVar11 = "%s: Write error";
  uVar8 = puVar13[8];
  puVar16 = puVar13 + -3;
  puVar13[-3] = uVar8;
LAB_00023c6e:
  *(char **)((int)puVar16 + -4) = pcVar11;
  *(undefined4 *)((int)puVar16 + -8) = 0x23c74;
  FUN_00020c10();
  *(undefined4 *)((int)puVar16 + -4) = uVar8;
  *(undefined4 *)((int)puVar16 + -8) = 0x23c7c;
  FUN_0001b250();
  puVar12 = (undefined4 *)((int)puVar16 + 0xc);
  goto LAB_00023788;
}

