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

int tool_debug_cb(CURL *handle,curl_infotype type,char *data,size_t size,void *userdata)

{
  int iVar1;
  GlobalConfig *config;
  FILE *pFVar2;
  trace tVar3;
  byte *__filename;
  char cVar4;
  tm *ptVar5;
  char *pcVar6;
  uint uVar7;
  FILE *__s;
  int iVar8;
  uint uVar9;
  size_t __size;
  byte *pbVar10;
  int iVar11;
  byte *pbVar12;
  int in_GS_OFFSET;
  bool bVar13;
  bool bVar14;
  bool bVar15;
  _Bool _Var16;
  byte bVar17;
  uint local_5c;
  int local_44;
  undefined4 uStack_40;
  time_t secs;
  char timebuf [20];
  
  bVar17 = 0;
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  config = *(GlobalConfig **)((int)userdata + 0x290);
  pFVar2 = (FILE *)config->errors;
  if (config->tracetime == false) {
    __s = (FILE *)config->trace_stream;
    timebuf[0] = '\0';
  }
  else {
    tvnow();
    if (tool_debug_cb::lexical_block_12::known_offset == 0) {
      secs = time((time_t *)0x0);
      tool_debug_cb::lexical_block_12::known_offset = 1;
      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;
    }
    else {
      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;
    }
    ptVar5 = localtime(&secs);
    curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,
                   ptVar5->tm_sec,uStack_40);
    __s = (FILE *)config->trace_stream;
  }
  bVar15 = __s == (FILE *)0x0;
  if (bVar15) {
    bVar13 = false;
    __filename = (byte *)config->trace_dump;
    iVar8 = 2;
    pbVar10 = &DAT_0003d16d;
    pbVar12 = __filename;
    do {
      if (iVar8 == 0) break;
      iVar8 = iVar8 + -1;
      bVar13 = *pbVar10 < *pbVar12;
      bVar15 = *pbVar10 == *pbVar12;
      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;
    } while (bVar15);
    bVar14 = false;
    bVar15 = (!bVar13 && !bVar15) == bVar13;
    if (bVar15) {
      __s = *(FILE **)PTR_stdout_00049fb0;
      config->trace_stream = (FILE *)__s;
    }
    else {
      iVar8 = 2;
      pbVar10 = &DAT_00029189;
      pbVar12 = __filename;
      do {
        if (iVar8 == 0) break;
        iVar8 = iVar8 + -1;
        bVar14 = *pbVar10 < *pbVar12;
        bVar15 = *pbVar10 == *pbVar12;
        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;
        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;
      } while (bVar15);
      if ((!bVar14 && !bVar15) == bVar14) {
        __s = (FILE *)config->errors;
        config->trace_stream = (FILE *)__s;
      }
      else {
        __s = fopen64((char *)__filename,"w");
        config->trace_fopened = true;
        config->trace_stream = (FILE *)__s;
      }
    }
    if ((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)) {
      warnf(config,"Failed to create/open output");
      goto switchD_00014c98_caseD_7;
    }
  }
  tVar3 = config->tracetype;
  if (tVar3 == TRACE_PLAIN) {
    switch(type) {
    case CURLINFO_TEXT:
    case CURLINFO_HEADER_IN:
      if (tool_debug_cb::lexical_block_13::newl == false) {
        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);
      }
      fwrite(data,size,1,__s);
      _Var16 = false;
      if (size != 0) {
        _Var16 = data[size - 1] != '\n';
      }
      break;
    case CURLINFO_HEADER_OUT:
      _Var16 = false;
      if (size != 0) {
        cVar4 = tool_debug_cb::lexical_block_13::newl;
        if (size == 1) {
          __size = 1;
          pcVar6 = data;
        }
        else {
          iVar11 = 0;
          iVar8 = 0;
          do {
            pcVar6 = data + iVar11;
            iVar11 = iVar11 + 1;
            if (*pcVar6 == '\n') {
              if (cVar4 == '\0') {
                curl_mfprintf(__s,&DAT_00029095,timebuf,">");
              }
              fwrite(data + iVar8,iVar11 - iVar8,1,__s);
              cVar4 = '\0';
              tool_debug_cb::lexical_block_13::newl = false;
              iVar8 = iVar11;
            }
          } while (size - 1 != iVar11);
          __size = size - iVar8;
          pcVar6 = data + iVar8;
        }
        if (cVar4 == '\0') {
          curl_mfprintf(__s,&DAT_00029095,timebuf,">");
        }
        fwrite(pcVar6,__size,1,__s);
        _Var16 = data[size - 1] != '\n';
      }
      break;
    case CURLINFO_DATA_IN:
    case CURLINFO_DATA_OUT:
    case CURLINFO_SSL_DATA_IN:
    case CURLINFO_SSL_DATA_OUT:
      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&
         ((config->isatty == false ||
          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {
        if (tool_debug_cb::lexical_block_13::newl == false) {
          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])
          ;
        }
        curl_mfprintf(__s,"[%zu bytes data]\n",size);
        tool_debug_cb::lexical_block_13::newl = false;
        tool_debug_cb::lexical_block_13::traced_data = true;
      }
      goto switchD_00014c98_caseD_7;
    default:
      tool_debug_cb::lexical_block_13::newl = false;
      tool_debug_cb::lexical_block_13::traced_data = false;
      goto switchD_00014c98_caseD_7;
    }
    tool_debug_cb::lexical_block_13::traced_data = false;
    tool_debug_cb::lexical_block_13::newl = _Var16;
    goto switchD_00014c98_caseD_7;
  }
  switch(type) {
  case CURLINFO_TEXT:
    curl_mfprintf(__s,"%s== Info: %s",timebuf,data);
    goto switchD_00014c98_caseD_7;
  case CURLINFO_HEADER_IN:
    pcVar6 = "<= Recv header";
    break;
  case CURLINFO_HEADER_OUT:
    pcVar6 = "=> Send header";
    break;
  case CURLINFO_DATA_IN:
    pcVar6 = "<= Recv data";
    break;
  case CURLINFO_DATA_OUT:
    pcVar6 = "=> Send data";
    break;
  case CURLINFO_SSL_DATA_IN:
    pcVar6 = "<= Recv SSL data";
    break;
  case CURLINFO_SSL_DATA_OUT:
    pcVar6 = "=> Send SSL data";
    break;
  default:
    goto switchD_00014c98_caseD_7;
  }
  iVar8 = 0x40;
  if (tVar3 != TRACE_ASCII) {
    iVar8 = 0x10;
  }
  local_5c = 0;
  curl_mfprintf(__s,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,size,size);
  if (size != 0) {
    do {
      curl_mfprintf(__s,"%04zx: ",local_5c);
      uVar7 = iVar8 + local_5c;
      uVar9 = local_5c;
      if (tVar3 == TRACE_BIN) {
        do {
          if (uVar9 < size) {
            curl_mfprintf(__s,"%02x ",data[uVar9]);
          }
          else {
            fwrite(&DAT_000290e2,1,3,__s);
          }
          uVar9 = uVar9 + 1;
        } while (uVar7 != uVar9);
      }
      do {
        if (size <= local_5c) break;
        cVar4 = data[local_5c];
        if (tVar3 == TRACE_ASCII) {
          if ((local_5c + 1 < size) && (cVar4 == '\r')) {
            if (data[local_5c + 1] == '\n') {
              uVar7 = local_5c + 2;
              break;
            }
LAB_00014feb:
            cVar4 = '.';
          }
          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;
          curl_mfprintf(__s,&DAT_0003f491,cVar4);
          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&
             (data[local_5c + 2] == '\n')) {
            uVar7 = local_5c + 3;
            break;
          }
        }
        else {
          if (0x5f < (byte)(cVar4 - 0x20U)) {
            cVar4 = '.';
          }
          curl_mfprintf(__s,&DAT_0003f491,cVar4);
        }
        local_5c = local_5c + 1;
      } while (uVar7 != local_5c);
      local_5c = uVar7;
      fputc(10,__s);
    } while (local_5c < size);
  }
  fflush(__s);
switchD_00014c98_caseD_7:
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



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

undefined4
FUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5
            )

{
  byte *pbVar1;
  char cVar2;
  tm *ptVar3;
  char *pcVar4;
  FILE *pFVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  undefined1 *puVar9;
  undefined1 *puVar10;
  uint uVar11;
  byte *pbVar12;
  uint uVar13;
  int iVar14;
  int iVar15;
  byte *pbVar16;
  int in_GS_OFFSET;
  bool bVar17;
  bool bVar18;
  bool bVar19;
  byte bVar20;
  undefined1 auStack_70 [4];
  undefined1 auStack_6c [12];
  undefined4 local_60;
  undefined4 local_5c;
  int local_48;
  undefined4 local_44 [2];
  int local_3c;
  undefined1 local_38 [4];
  undefined1 local_34;
  undefined4 local_20;
  undefined4 uStack_14;
  
  bVar20 = 0;
  uStack_14 = 0x14c29;
  puVar9 = auStack_6c;
  puVar10 = auStack_6c;
  local_60 = param_3;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  iVar15 = *(int *)(param_5 + 0x290);
  local_5c = *(undefined4 *)(iVar15 + 0xc);
  if (*(char *)(iVar15 + 0x24) == '\0') {
    pFVar5 = *(FILE **)(iVar15 + 0x18);
    local_34 = 0;
  }
  else {
    FUN_00027ba0(local_44);
    if (DAT_0004a030 == 0) {
      local_3c = time((time_t *)0x0);
      DAT_0004a030 = 1;
      DAT_0004a02c = local_3c - local_48;
    }
    else {
      local_3c = DAT_0004a02c + local_48;
    }
    puVar10 = auStack_70;
    puVar9 = auStack_70;
    ptVar3 = localtime(&local_3c);
    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,
                   ptVar3->tm_sec,local_44[0]);
    pFVar5 = *(FILE **)(iVar15 + 0x18);
  }
  bVar19 = pFVar5 == (FILE *)0x0;
  if (bVar19) {
    bVar17 = false;
    pbVar1 = *(byte **)(iVar15 + 0x14);
    iVar6 = 2;
    pbVar12 = &DAT_0003d16d;
    pbVar16 = pbVar1;
    do {
      if (iVar6 == 0) break;
      iVar6 = iVar6 + -1;
      bVar17 = *pbVar12 < *pbVar16;
      bVar19 = *pbVar12 == *pbVar16;
      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;
      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;
    } while (bVar19);
    bVar18 = false;
    bVar19 = (!bVar17 && !bVar19) == bVar17;
    if (bVar19) {
      pFVar5 = *(FILE **)PTR_stdout_00049fb0;
      *(FILE **)(iVar15 + 0x18) = pFVar5;
    }
    else {
      iVar6 = 2;
      pbVar12 = &DAT_00029189;
      pbVar16 = pbVar1;
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        bVar18 = *pbVar12 < *pbVar16;
        bVar19 = *pbVar12 == *pbVar16;
        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;
        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;
      } while (bVar19);
      if ((!bVar18 && !bVar19) == bVar18) {
        pFVar5 = *(FILE **)(iVar15 + 0xc);
        *(FILE **)(iVar15 + 0x18) = pFVar5;
      }
      else {
        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;
        *(byte **)(puVar10 + -0x10) = pbVar1;
        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;
        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));
        *(undefined1 *)(iVar15 + 0x1c) = 1;
        *(FILE **)(iVar15 + 0x18) = pFVar5;
      }
    }
    puVar9 = puVar10;
    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {
      *(char **)(puVar10 + -0xc) = "Failed to create/open output";
      *(int *)(puVar10 + -0x10) = iVar15;
      *(undefined4 *)(puVar10 + -0x14) = 0x14def;
      FUN_0001ed70();
      goto LAB_00014d00;
    }
  }
  puVar10 = puVar9;
  iVar6 = *(int *)(iVar15 + 0x20);
  *(int *)(puVar10 + 0x14) = iVar6;
  if (iVar6 == 3) {
    if (*(uint *)(puVar10 + 0x74) < 7) {
      switch(*(int *)(puVar10 + 0x74)) {
      case 0:
      case 1:
        if (DAT_0004a029 == '\0') {
          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];
          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;
          curl_mfprintf();
        }
        *(FILE **)(puVar10 + -4) = pFVar5;
        *(undefined4 *)(puVar10 + -8) = 1;
        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);
        iVar15 = *(int *)(puVar10 + 0xc);
        *(int *)(puVar10 + -0x10) = iVar15;
        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;
        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),
               *(FILE **)(puVar10 + -4));
        bVar19 = false;
        if (*(int *)(puVar10 + 0x7c) != 0) {
          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';
        }
        break;
      case 2:
        bVar19 = false;
        if (*(int *)(puVar10 + 0x7c) != 0) {
          iVar15 = *(int *)(puVar10 + 0x7c);
          cVar2 = DAT_0004a029;
          if (iVar15 == 1) {
            iVar15 = *(int *)(puVar10 + 0xc);
            iVar6 = 1;
          }
          else {
            *(FILE **)(puVar10 + 0x14) = pFVar5;
            iVar14 = 0;
            *(char **)(puVar10 + 0x18) = ">";
            iVar6 = 0;
            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;
            iVar7 = *(int *)(puVar10 + 0xc);
            do {
              pcVar4 = (char *)(iVar7 + iVar14);
              iVar14 = iVar14 + 1;
              if (*pcVar4 == '\n') {
                if (cVar2 == '\0') {
                  *(int *)(puVar10 + 0x10) = iVar7;
                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);
                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);
                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);
                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;
                  curl_mfprintf();
                  iVar7 = *(int *)(puVar10 + 0x10);
                }
                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);
                *(undefined4 *)(puVar10 + -8) = 1;
                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;
                *(int *)(puVar10 + 0x10) = iVar7;
                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;
                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;
                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),
                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));
                cVar2 = '\0';
                iVar7 = *(int *)(puVar10 + 0x10);
                DAT_0004a029 = '\0';
                iVar6 = iVar14;
              }
            } while (iVar15 + -1 != iVar14);
            pFVar5 = *(FILE **)(puVar10 + 0x14);
            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;
            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;
          }
          if (cVar2 == '\0') {
            *(char **)(puVar10 + -4) = ">";
            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
            *(FILE **)(puVar10 + -0x10) = pFVar5;
            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;
            curl_mfprintf();
          }
          *(FILE **)(puVar10 + -4) = pFVar5;
          *(undefined4 *)(puVar10 + -8) = 1;
          *(int *)(puVar10 + -0xc) = iVar6;
          *(int *)(puVar10 + -0x10) = iVar15;
          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;
          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),
                 *(FILE **)(puVar10 + -4));
          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';
        }
        break;
      default:
        if ((DAT_0004a028 == '\0') &&
           ((*(char *)(iVar15 + 10) == '\0' ||
            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))
            ))) {
          if (DAT_0004a029 == '\0') {
            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];
            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
            *(FILE **)(puVar10 + -0x10) = pFVar5;
            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;
            curl_mfprintf();
          }
          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);
          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;
          curl_mfprintf();
          DAT_0004a029 = '\0';
          DAT_0004a028 = '\x01';
        }
        goto LAB_00014d00;
      }
      DAT_0004a028 = '\0';
      DAT_0004a029 = bVar19;
    }
    else {
      DAT_0004a029 = '\0';
      DAT_0004a028 = '\0';
    }
    goto LAB_00014d00;
  }
  switch(*(undefined4 *)(puVar10 + 0x74)) {
  case 0:
    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);
    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
    *(char **)(puVar10 + -0xc) = "%s== Info: %s";
    *(FILE **)(puVar10 + -0x10) = pFVar5;
    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;
    curl_mfprintf();
    goto LAB_00014d00;
  case 1:
    pcVar4 = "<= Recv header";
    break;
  case 2:
    pcVar4 = "=> Send header";
    break;
  case 3:
    pcVar4 = "<= Recv data";
    break;
  case 4:
    pcVar4 = "=> Send data";
    break;
  case 5:
    pcVar4 = "<= Recv SSL data";
    break;
  case 6:
    pcVar4 = "=> Send SSL data";
    break;
  default:
    goto LAB_00014d00;
  }
  uVar8 = 0x40;
  if (*(int *)(puVar10 + 0x14) != 2) {
    uVar8 = 0x10;
  }
  uVar13 = 0;
  *(undefined4 *)(puVar10 + 0x1c) = uVar8;
  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);
  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);
  *(char **)(puVar10 + -0x14) = pcVar4;
  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;
  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";
  *(FILE **)(puVar10 + -0x20) = pFVar5;
  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;
  curl_mfprintf();
  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;
  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;
  if (*(int *)(puVar10 + 0x7c) != 0) {
    do {
      *(uint *)(puVar10 + -8) = uVar13;
      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);
      *(FILE **)(puVar10 + -0x10) = pFVar5;
      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;
      curl_mfprintf();
      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;
      if (*(int *)(puVar10 + 0x14) == 1) {
        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;
        uVar11 = uVar13;
        do {
          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {
            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);
            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);
            *(FILE **)(puVar10 + -0x10) = pFVar5;
            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;
            curl_mfprintf();
          }
          else {
            *(FILE **)(puVar10 + -4) = pFVar5;
            *(undefined4 *)(puVar10 + -8) = 3;
            *(undefined4 *)(puVar10 + -0xc) = 1;
            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);
            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;
            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)
                   ,*(FILE **)(puVar10 + -4));
          }
          uVar11 = uVar11 + 1;
        } while (*(uint *)(puVar10 + 0x10) != uVar11);
      }
      do {
        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;
        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);
        if (*(int *)(puVar10 + 0x14) == 2) {
          uVar11 = uVar13 + 1;
          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {
            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {
              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;
              break;
            }
code_r0x00014feb:
            *(uint *)(puVar10 + 0x18) = uVar11;
            *(undefined4 *)(puVar10 + -8) = 0x2e;
          }
          else {
            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;
            *(uint *)(puVar10 + 0x18) = uVar11;
            *(uint *)(puVar10 + -8) = (uint)bVar20;
          }
          *(char **)(puVar10 + -0xc) = "%c";
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;
          curl_mfprintf();
          uVar11 = *(uint *)(puVar10 + 0x18);
          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&
              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&
             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {
            *(uint *)(puVar10 + 0x10) = uVar13 + 3;
            break;
          }
        }
        else {
          if ((byte)(bVar20 - 0x20) < 0x60) {
            *(uint *)(puVar10 + -8) = (uint)bVar20;
          }
          else {
            *(undefined4 *)(puVar10 + -8) = 0x2e;
          }
          *(char **)(puVar10 + -0xc) = "%c";
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;
          curl_mfprintf();
          uVar11 = uVar13 + 1;
        }
        uVar13 = uVar11;
      } while (*(uint *)(puVar10 + 0x10) != uVar11);
      *(FILE **)(puVar10 + -0xc) = pFVar5;
      *(undefined4 *)(puVar10 + -0x10) = 10;
      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;
      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));
      uVar13 = *(uint *)(puVar10 + 0x10);
    } while (uVar13 < *(uint *)(puVar10 + 0x7c));
  }
  *(FILE **)(puVar10 + -0x10) = pFVar5;
  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;
  fflush(*(FILE **)(puVar10 + -0x10));
LAB_00014d00:
  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar10 + -4) = 0x152d7;
  FUN_000289b0();
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00014a30
ADD EBX,0x3518f
SUB ESP,0x5c
MOV EAX,dword ptr [ESP + 0x78]
MOV dword ptr [ESP + 0xc],EAX
MOV EAX,GS:[0x14]
MOV dword ptr [ESP + 0x4c],EAX
XOR EAX,EAX
MOV EAX,dword ptr [ESP + 0x80]
MOV EBP,dword ptr [EAX + 0x290]
MOV EAX,dword ptr [EBP + 0xc]
CMP byte ptr [EBP + 0x24],0x0
MOV dword ptr [ESP + 0x10],EAX
JNZ 0x00014d20
MOV EDI,dword ptr [EBP + 0x18]
MOV byte ptr [ESP + 0x38],0x0
TEST EDI,EDI
JZ 0x00014d8c
MOV EAX,dword ptr [EBP + 0x20]
MOV dword ptr [ESP + 0x14],EAX
CMP EAX,0x3
JZ 0x00015070
CMP dword ptr [ESP + 0x74],0x6
JA 0x00014d00
MOV ECX,dword ptr [ESP + 0x74]
MOV EAX,dword ptr [EBX + ECX*0x4 + 0xfffdf334]
ADD EAX,EBX
JMP EAX
XOR EAX,EAX
MOV ECX,dword ptr [ESP + 0x4c]
XOR ECX,dword ptr GS:[0x14]
JNZ 0x000152d2
ADD ESP,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[ESP + 0x28]
SUB ESP,0xc
PUSH EAX
CALL 0x00027ba0
MOV EAX,dword ptr [EBX + 0x278]
MOV EDI,dword ptr [ESP + 0x34]
MOV ESI,dword ptr [ESP + 0x38]
ADD ESP,0xc
TEST EAX,EAX
JZ 0x00015090
MOV EAX,dword ptr [EBX + 0x274]
ADD EAX,EDI
MOV dword ptr [ESP + 0x34],EAX
SUB ESP,0xc
LEA EAX,[ESP + 0x40]
PUSH EAX
CALL 0x00014740
ADD ESP,0xc
PUSH ESI
PUSH dword ptr [EAX]
PUSH dword ptr [EAX + 0x4]
PUSH dword ptr [EAX + 0x8]
LEA EAX,[EBX + 0xfffdf2aa]
PUSH EAX
PUSH 0x14
LEA EAX,[ESP + 0x54]
PUSH EAX
CALL 0x000143f0
MOV EDI,dword ptr [EBP + 0x18]
ADD ESP,0x20
TEST EDI,EDI
JNZ 0x00014c74
MOV EAX,dword ptr [EBP + 0x14]
MOV ECX,0x2
LEA ESI,[EBX + 0xffff33b5]
MOV EDI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JZ 0x00014e00
MOV ECX,0x2
LEA ESI,[EBX + 0xfffdf3d1]
MOV EDI,EAX
CMPSB.REPE ES:EDI,ESI
SETA DL
SBB DL,0x0
TEST DL,DL
JNZ 0x000151b0
MOV EDI,dword ptr [EBP + 0xc]
MOV dword ptr [EBP + 0x18],EDI
TEST EDI,EDI
JNZ 0x00014c74
MOV EDI,dword ptr [ESP + 0x10]
TEST EDI,EDI
JNZ 0x00014c74
SUB ESP,0x8
LEA EAX,[EBX + 0xfffdf2c0]
PUSH EAX
PUSH EBP
CALL 0x0001ed70
ADD ESP,0x10
JMP 0x00014d00
MOV EAX,dword ptr [EBX + 0x1f8]
MOV EDI,dword ptr [EAX]
MOV dword ptr [EBP + 0x18],EDI
JMP 0x00014dcb
CMP dword ptr [ESP + 0x74],0x6
JA 0x000151d8
MOV ECX,dword ptr [ESP + 0x74]
MOV EAX,dword ptr [EBX + ECX*0x4 + 0xfffdf350]
ADD EAX,EBX
JMP EAX
SUB ESP,0xc
PUSH 0x0
CALL 0x00014280
ADD ESP,0x10
MOV dword ptr [EBX + 0x278],0x1
MOV EDX,EAX
SUB EDX,EDI
MOV dword ptr [EBX + 0x274],EDX
JMP 0x00014d4e
SUB ESP,0x8
LEA EDX,[EBX + 0xfffe05a5]
PUSH EDX
PUSH EAX
CALL 0x00014210
MOV byte ptr [EBP + 0x1c],0x1
ADD ESP,0x10
MOV EDI,EAX
MOV dword ptr [EBP + 0x18],EAX
JMP 0x00014dcb
MOV byte ptr [EBX + 0x271],0x0
MOV byte ptr [EBX + 0x270],0x0
JMP 0x00014d00
CALL 0x000289b0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4\nFUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )\n\n{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}\n\n" comment (function_definition "undefined4\nFUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )\n\n{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}" type_identifier (function_declarator "FUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "tm *ptVar3;" type_identifier (pointer_declarator "*ptVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "FILE *pFVar5;" type_identifier (pointer_declarator "*pFVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "undefined1 auStack_70 [4];" type_identifier (array_declarator "auStack_70 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_6c [12];" type_identifier (array_declarator "auStack_6c [12]" identifier [ number_literal ]) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "undefined4 local_44 [2];" type_identifier (array_declarator "local_44 [2]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined1 local_38 [4];" type_identifier (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_34;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar20 = 0;" (assignment_expression "bVar20 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x14c29;" (assignment_expression "uStack_14 = 0x14c29" identifier = number_literal) ;) (expression_statement "puVar9 = auStack_6c;" (assignment_expression "puVar9 = auStack_6c" identifier = identifier) ;) (expression_statement "puVar10 = auStack_6c;" (assignment_expression "puVar10 = auStack_6c" identifier = identifier) ;) (expression_statement "local_60 = param_3;" (assignment_expression "local_60 = param_3" identifier = identifier) ;) (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 "iVar15 = *(int *)(param_5 + 0x290);" (assignment_expression "iVar15 = *(int *)(param_5 + 0x290)" identifier = (pointer_expression "*(int *)(param_5 + 0x290)" * (cast_expression "(int *)(param_5 + 0x290)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x290)" ( (binary_expression "param_5 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined4 *)(iVar15 + 0xc);" (assignment_expression "local_5c = *(undefined4 *)(iVar15 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + 0xc)" * (cast_expression "(undefined4 *)(iVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" if (parenthesized_expression "(*(char *)(iVar15 + 0x24) == '\0')" ( (binary_expression "*(char *)(iVar15 + 0x24) == '\0'" (pointer_expression "*(char *)(iVar15 + 0x24)" * (cast_expression "(char *)(iVar15 + 0x24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }" { (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0x18);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0x18)" identifier = (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" else (compound_statement "{\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" { (expression_statement "FUN_00027ba0(local_44);" (call_expression "FUN_00027ba0(local_44)" identifier (argument_list "(local_44)" ( identifier ))) ;) (if_statement "if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }" if (parenthesized_expression "(DAT_0004a030 == 0)" ( (binary_expression "DAT_0004a030 == 0" identifier == number_literal) )) (compound_statement "{\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }" { (expression_statement "local_3c = time((time_t *)0x0);" (assignment_expression "local_3c = 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 "DAT_0004a030 = 1;" (assignment_expression "DAT_0004a030 = 1" identifier = number_literal) ;) (expression_statement "DAT_0004a02c = local_3c - local_48;" (assignment_expression "DAT_0004a02c = local_3c - local_48" identifier = (binary_expression "local_3c - local_48" identifier - identifier)) ;) }) (else_clause "else {\n      local_3c = DAT_0004a02c + local_48;\n    }" else (compound_statement "{\n      local_3c = DAT_0004a02c + local_48;\n    }" { (expression_statement "local_3c = DAT_0004a02c + local_48;" (assignment_expression "local_3c = DAT_0004a02c + local_48" identifier = (binary_expression "DAT_0004a02c + local_48" identifier + identifier)) ;) }))) (expression_statement "puVar10 = auStack_70;" (assignment_expression "puVar10 = auStack_70" identifier = identifier) ;) (expression_statement "puVar9 = auStack_70;" (assignment_expression "puVar9 = auStack_70" identifier = identifier) ;) (expression_statement "ptVar3 = localtime(&local_3c);" (assignment_expression "ptVar3 = localtime(&local_3c)" identifier = (call_expression "localtime(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);" (call_expression "curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0])" identifier (argument_list "(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0])" ( identifier , number_literal , (string_literal ""%02d:%02d:%02d.%06ld "" " string_content ") , (field_expression "ptVar3->tm_hour" identifier -> field_identifier) , (field_expression "ptVar3->tm_min" identifier -> field_identifier) , (field_expression "ptVar3->tm_sec" identifier -> field_identifier) , (subscript_expression "local_44[0]" identifier [ number_literal ]) ))) ;) (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0x18);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0x18)" identifier = (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) ;) }))) (expression_statement "bVar19 = pFVar5 == (FILE *)0x0;" (assignment_expression "bVar19 = pFVar5 == (FILE *)0x0" identifier = (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }" if (parenthesized_expression "(bVar19)" ( identifier )) (compound_statement "{\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }" { (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "pbVar1 = *(byte **)(iVar15 + 0x14);" (assignment_expression "pbVar1 = *(byte **)(iVar15 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar15 + 0x14)" * (cast_expression "(byte **)(iVar15 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "pbVar12 = &DAT_0003d16d;" (assignment_expression "pbVar12 = &DAT_0003d16d" identifier = (pointer_expression "&DAT_0003d16d" & identifier)) ;) (expression_statement "pbVar16 = pbVar1;" (assignment_expression "pbVar16 = pbVar1" identifier = identifier) ;) (do_statement "do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);" do (compound_statement "{\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar17 = *pbVar12 < *pbVar16;" (assignment_expression "bVar17 = *pbVar12 < *pbVar16" identifier = (binary_expression "*pbVar12 < *pbVar16" (pointer_expression "*pbVar12" * identifier) < (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "bVar19 = *pbVar12 == *pbVar16;" (assignment_expression "bVar19 = *pbVar12 == *pbVar16" identifier = (binary_expression "*pbVar12 == *pbVar16" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "bVar18 = false;" (assignment_expression "bVar18 = false" identifier = false) ;) (expression_statement "bVar19 = (!bVar17 && !bVar19) == bVar17;" (assignment_expression "bVar19 = (!bVar17 && !bVar19) == bVar17" identifier = (binary_expression "(!bVar17 && !bVar19) == bVar17" (parenthesized_expression "(!bVar17 && !bVar19)" ( (binary_expression "!bVar17 && !bVar19" (unary_expression "!bVar17" ! identifier) && (unary_expression "!bVar19" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" if (parenthesized_expression "(bVar19)" ( identifier )) (compound_statement "{\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }" { (expression_statement "pFVar5 = *(FILE **)PTR_stdout_00049fb0;" (assignment_expression "pFVar5 = *(FILE **)PTR_stdout_00049fb0" identifier = (pointer_expression "*(FILE **)PTR_stdout_00049fb0" * (cast_expression "(FILE **)PTR_stdout_00049fb0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" else (compound_statement "{\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" { (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "pbVar12 = &DAT_00029189;" (assignment_expression "pbVar12 = &DAT_00029189" identifier = (pointer_expression "&DAT_00029189" & identifier)) ;) (expression_statement "pbVar16 = pbVar1;" (assignment_expression "pbVar16 = pbVar1" identifier = identifier) ;) (do_statement "do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar18 = *pbVar12 < *pbVar16;" (assignment_expression "bVar18 = *pbVar12 < *pbVar16" identifier = (binary_expression "*pbVar12 < *pbVar16" (pointer_expression "*pbVar12" * identifier) < (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "bVar19 = *pbVar12 == *pbVar16;" (assignment_expression "bVar19 = *pbVar12 == *pbVar16" identifier = (binary_expression "*pbVar12 == *pbVar16" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" if (parenthesized_expression "((!bVar18 && !bVar19) == bVar18)" ( (binary_expression "(!bVar18 && !bVar19) == bVar18" (parenthesized_expression "(!bVar18 && !bVar19)" ( (binary_expression "!bVar18 && !bVar19" (unary_expression "!bVar18" ! identifier) && (unary_expression "!bVar19" ! identifier)) )) == identifier) )) (compound_statement "{\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" { (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0xc);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0xc)" identifier = (pointer_expression "*(FILE **)(iVar15 + 0xc)" * (cast_expression "(FILE **)(iVar15 + 0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" else (compound_statement "{\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" { (expression_statement "*(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &DAT_0002a35d" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0002a35d" & identifier)) ;) (expression_statement "*(byte **)(puVar10 + -0x10) = pbVar1;" (assignment_expression "*(byte **)(puVar10 + -0x10) = pbVar1" (pointer_expression "*(byte **)(puVar10 + -0x10)" * (cast_expression "(byte **)(puVar10 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x151c0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x151c0" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));" (assignment_expression "pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" identifier (argument_list "(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined1 *)(iVar15 + 0x1c) = 1;" (assignment_expression "*(undefined1 *)(iVar15 + 0x1c) = 1" (pointer_expression "*(undefined1 *)(iVar15 + 0x1c)" * (cast_expression "(undefined1 *)(iVar15 + 0x1c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x1c)" ( (binary_expression "iVar15 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) }))) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }" if (parenthesized_expression "((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0))" ( (binary_expression "(pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)" (parenthesized_expression "(pFVar5 == (FILE *)0x0)" ( (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)" ( (comma_expression "pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0" (assignment_expression "pFVar5 = *(FILE **)(puVar10 + 0x10)" identifier = (pointer_expression "*(FILE **)(puVar10 + 0x10)" * (cast_expression "(FILE **)(puVar10 + 0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) , (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }" { (expression_statement "*(char **)(puVar10 + -0xc) = "Failed to create/open output";" (assignment_expression "*(char **)(puVar10 + -0xc) = "Failed to create/open output"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""Failed to create/open output"" " string_content ")) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x14def;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x14def" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001ed70();" (call_expression "FUN_0001ed70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;) })) })) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (expression_statement "iVar6 = *(int *)(iVar15 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar15 + 0x20)" identifier = (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar10 + 0x14) = iVar6;" (assignment_expression "*(int *)(puVar10 + 0x14) = iVar6" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }" if (parenthesized_expression "(iVar6 == 3)" ( (binary_expression "iVar6 == 3" identifier == number_literal) )) (compound_statement "{\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }" { (if_statement "if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" if (parenthesized_expression "(*(uint *)(puVar10 + 0x74) < 7)" ( (binary_expression "*(uint *)(puVar10 + 0x74) < 7" (pointer_expression "*(uint *)(puVar10 + 0x74)" * (cast_expression "(uint *)(puVar10 + 0x74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }" { (switch_statement "switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }" switch (parenthesized_expression "(*(int *)(puVar10 + 0x74))" ( (pointer_expression "*(int *)(puVar10 + 0x74)" * (cast_expression "(int *)(puVar10 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) )) (compound_statement "{\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }" { (case_statement "case 0:" case number_literal :) (case_statement "case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;" case number_literal : (if_statement "if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }" if (parenthesized_expression "(DAT_0004a029 == '\0')" ( (binary_expression "DAT_0004a029 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }" { (expression_statement "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];" (assignment_expression "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (pointer_expression "*(undefined **)(puVar10 + -4)" * (cast_expression "(undefined **)(puVar10 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (subscript_expression "(&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (parenthesized_expression "(&PTR_DAT_00048320)" ( (pointer_expression "&PTR_DAT_00048320" & identifier) )) [ (pointer_expression "*(int *)(puVar10 + 0x74)" * (cast_expression "(int *)(puVar10 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) ])) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015279;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015279" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015279" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc)" identifier = (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015181;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015181" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015181" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" if (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" { (expression_statement "bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';" (assignment_expression "bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" identifier = (binary_expression "*(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (pointer_expression "*(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" * (cast_expression "(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" ( (binary_expression "iVar15 + -1 + *(int *)(puVar10 + 0x7c)" (binary_expression "iVar15 + -1" identifier + number_literal) + (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )))) != (char_literal "'\n'" ' escape_sequence '))) ;) })) (break_statement "break;" break ;)) (case_statement "case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;" case number_literal : (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" if (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" { (expression_statement "iVar15 = *(int *)(puVar10 + 0x7c);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0x7c)" identifier = (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "cVar2 = DAT_0004a029;" (assignment_expression "cVar2 = DAT_0004a029" identifier = identifier) ;) (if_statement "if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" if (parenthesized_expression "(iVar15 == 1)" ( (binary_expression "iVar15 == 1" identifier == number_literal) )) (compound_statement "{\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }" { (expression_statement "iVar15 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc)" identifier = (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" else (compound_statement "{\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" { (expression_statement "*(FILE **)(puVar10 + 0x14) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + 0x14) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + 0x14)" * (cast_expression "(FILE **)(puVar10 + 0x14)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "*(char **)(puVar10 + 0x18) = ">";" (assignment_expression "*(char **)(puVar10 + 0x18) = ">"" (pointer_expression "*(char **)(puVar10 + 0x18)" * (cast_expression "(char **)(puVar10 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = (string_literal "">"" " string_content ")) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + 0x1c)" * (cast_expression "(undefined1 **)(puVar10 + 0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "iVar7 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0xc)" identifier = (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (do_statement "do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);" do (compound_statement "{\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            }" { (expression_statement "pcVar4 = (char *)(iVar7 + iVar14);" (assignment_expression "pcVar4 = (char *)(iVar7 + iVar14)" identifier = (cast_expression "(char *)(iVar7 + iVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar14)" ( (binary_expression "iVar7 + iVar14" identifier + identifier) )))) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }" if (parenthesized_expression "(*pcVar4 == '\n')" ( (binary_expression "*pcVar4 == '\n'" (pointer_expression "*pcVar4" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }" { (if_statement "if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }" { (expression_statement "*(int *)(puVar10 + 0x10) = iVar7;" (assignment_expression "*(int *)(puVar10 + 0x10) = iVar7" (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x18)" * (cast_expression "(undefined4 *)(puVar10 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x1c)" * (cast_expression "(undefined4 *)(puVar10 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x14)" * (cast_expression "(undefined4 *)(puVar10 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001520c;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001520c" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001520c" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0x10)" identifier = (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) })) (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x14)" * (cast_expression "(undefined4 *)(puVar10 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar10 + -0xc) = iVar14 - iVar6;" (assignment_expression "*(int *)(puVar10 + -0xc) = iVar14 - iVar6" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar14 - iVar6" identifier - identifier)) ;) (expression_statement "*(int *)(puVar10 + 0x10) = iVar7;" (assignment_expression "*(int *)(puVar10 + 0x10) = iVar7" (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar6 + iVar7;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar6 + iVar7" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar6 + iVar7" identifier + identifier)) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015145;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015145" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015145" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar7 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0x10)" identifier = (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" identifier = identifier) ;) })) }) while (parenthesized_expression "(iVar15 + -1 != iVar14)" ( (binary_expression "iVar15 + -1 != iVar14" (binary_expression "iVar15 + -1" identifier + number_literal) != identifier) )) ;) (expression_statement "pFVar5 = *(FILE **)(puVar10 + 0x14);" (assignment_expression "pFVar5 = *(FILE **)(puVar10 + 0x14)" identifier = (pointer_expression "*(FILE **)(puVar10 + 0x14)" * (cast_expression "(FILE **)(puVar10 + 0x14)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar10 + 0xc) + iVar6;" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc) + iVar6" identifier = (binary_expression "*(int *)(puVar10 + 0xc) + iVar6" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;" (assignment_expression "iVar6 = *(int *)(puVar10 + 0x7c) - iVar6" identifier = (binary_expression "*(int *)(puVar10 + 0x7c) - iVar6" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) - identifier)) ;) }))) (if_statement "if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }" { (expression_statement "*(char **)(puVar10 + -4) = ">";" (assignment_expression "*(char **)(puVar10 + -4) = ">"" (pointer_expression "*(char **)(puVar10 + -4)" * (cast_expression "(char **)(puVar10 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (string_literal "">"" " string_content ")) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001529a;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001529a" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001529a" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar10 + -0xc) = iVar6;" (assignment_expression "*(int *)(puVar10 + -0xc) = iVar6" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015241;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015241" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015241" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';" (assignment_expression "bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" identifier = (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" ( (binary_expression "*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)" (binary_expression "*(int *)(puVar10 + 0xc) + -1" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )))) != (char_literal "'\n'" ' escape_sequence '))) ;) })) (break_statement "break;" break ;)) (case_statement "default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;" default : (if_statement "if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }" if (parenthesized_expression "((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            )))" ( (binary_expression "(DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))" (parenthesized_expression "(DAT_0004a028 == '\0')" ( (binary_expression "DAT_0004a028 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))" ( (parenthesized_expression "(*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            )" ( (binary_expression "*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))" (binary_expression "*(char *)(iVar15 + 10) == '\0'" (pointer_expression "*(char *)(iVar15 + 10)" * (cast_expression "(char *)(iVar15 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 10)" ( (binary_expression "iVar15 + 10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))" ( (parenthesized_expression "(*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5))" ( (binary_expression "*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)" (binary_expression "*(FILE **)PTR_stderr_00049ff0 != pFVar5" (pointer_expression "*(FILE **)PTR_stderr_00049ff0" * (cast_expression "(FILE **)PTR_stderr_00049ff0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) && (parenthesized_expression "(*(FILE **)PTR_stdout_00049fb0 != pFVar5)" ( (binary_expression "*(FILE **)PTR_stdout_00049fb0 != pFVar5" (pointer_expression "*(FILE **)PTR_stdout_00049fb0" * (cast_expression "(FILE **)PTR_stdout_00049fb0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) ))) )) ))) )) ))) )) (compound_statement "{\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }" { (if_statement "if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }" if (parenthesized_expression "(DAT_0004a029 == '\0')" ( (binary_expression "DAT_0004a029 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }" { (expression_statement "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];" (assignment_expression "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (pointer_expression "*(undefined **)(puVar10 + -4)" * (cast_expression "(undefined **)(puVar10 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (subscript_expression "(&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (parenthesized_expression "(&PTR_DAT_00048320)" ( (pointer_expression "&PTR_DAT_00048320" & identifier) )) [ (pointer_expression "*(int *)(puVar10 + 0x74)" * (cast_expression "(int *)(puVar10 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) ])) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_000152bc;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_000152bc" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000152bc" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";" (assignment_expression "*(char **)(puVar10 + -0xc) = "[%zu bytes data]\n"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""[%zu bytes data]\n"" " string_content escape_sequence ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014ce7" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014ce7" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_0004a028 = '\x01';" (assignment_expression "DAT_0004a028 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;)) })) (expression_statement "DAT_0004a028 = '\0';" (assignment_expression "DAT_0004a028 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_0004a029 = bVar19;" (assignment_expression "DAT_0004a029 = bVar19" identifier = identifier) ;) }) (else_clause "else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" else (compound_statement "{\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" { (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_0004a028 = '\0';" (assignment_expression "DAT_0004a028 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;) })) (switch_statement "switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }" switch (parenthesized_expression "(*(undefined4 *)(puVar10 + 0x74))" ( (pointer_expression "*(undefined4 *)(puVar10 + 0x74)" * (cast_expression "(undefined4 *)(puVar10 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) )) (compound_statement "{\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }" { (case_statement "case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;" case number_literal : (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0xc)" * (cast_expression "(undefined4 *)(puVar10 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar10 + -0xc) = "%s== Info: %s";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%s== Info: %s"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""%s== Info: %s"" " string_content ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014fd6" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014fd6" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;)) (case_statement "case 1:\n    pcVar4 = "<= Recv header";\n    break;" case number_literal : (expression_statement "pcVar4 = "<= Recv header";" (assignment_expression "pcVar4 = "<= Recv header"" identifier = (string_literal ""<= Recv header"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    pcVar4 = "=> Send header";\n    break;" case number_literal : (expression_statement "pcVar4 = "=> Send header";" (assignment_expression "pcVar4 = "=> Send header"" identifier = (string_literal ""=> Send header"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    pcVar4 = "<= Recv data";\n    break;" case number_literal : (expression_statement "pcVar4 = "<= Recv data";" (assignment_expression "pcVar4 = "<= Recv data"" identifier = (string_literal ""<= Recv data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    pcVar4 = "=> Send data";\n    break;" case number_literal : (expression_statement "pcVar4 = "=> Send data";" (assignment_expression "pcVar4 = "=> Send data"" identifier = (string_literal ""=> Send data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;" case number_literal : (expression_statement "pcVar4 = "<= Recv SSL data";" (assignment_expression "pcVar4 = "<= Recv SSL data"" identifier = (string_literal ""<= Recv SSL data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n    pcVar4 = "=> Send SSL data";\n    break;" case number_literal : (expression_statement "pcVar4 = "=> Send SSL data";" (assignment_expression "pcVar4 = "=> Send SSL data"" identifier = (string_literal ""=> Send SSL data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto LAB_00014d00;" default : (goto_statement "goto LAB_00014d00;" goto statement_identifier ;)) })) (expression_statement "uVar8 = 0x40;" (assignment_expression "uVar8 = 0x40" identifier = number_literal) ;) (if_statement "if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x14) != 2)" ( (binary_expression "*(int *)(puVar10 + 0x14) != 2" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar8 = 0x10;\n  }" { (expression_statement "uVar8 = 0x10;" (assignment_expression "uVar8 = 0x10" identifier = number_literal) ;) })) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + 0x1c) = uVar8;" (assignment_expression "*(undefined4 *)(puVar10 + 0x1c) = uVar8" (pointer_expression "*(undefined4 *)(puVar10 + 0x1c)" * (cast_expression "(undefined4 *)(puVar10 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar10 + -0x14) = pcVar4;" (assignment_expression "*(char **)(puVar10 + -0x14) = pcVar4" (pointer_expression "*(char **)(puVar10 + -0x14)" * (cast_expression "(char **)(puVar10 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -0x18)" * (cast_expression "(undefined1 **)(puVar10 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x18)" ( (binary_expression "puVar10 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";" (assignment_expression "*(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n"" (pointer_expression "*(char **)(puVar10 + -0x1c)" * (cast_expression "(char **)(puVar10 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x1c)" ( (binary_expression "puVar10 + -0x1c" identifier + number_literal) )))) = (string_literal ""%s%s, %zu bytes (0x%zx)\n"" " string_content escape_sequence ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x20) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x20) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x20)" * (cast_expression "(FILE **)(puVar10 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x20)" ( (binary_expression "puVar10 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;" (assignment_expression "*(undefined **)(puVar10 + -0x24) = &UNK_00014e5c" (pointer_expression "*(undefined **)(puVar10 + -0x24)" * (cast_expression "(undefined **)(puVar10 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x24)" ( (binary_expression "puVar10 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_00014e5c" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined **)(puVar10 + 0x20) = &UNK_000290d4;" (assignment_expression "*(undefined **)(puVar10 + 0x20) = &UNK_000290d4" (pointer_expression "*(undefined **)(puVar10 + 0x20)" * (cast_expression "(undefined **)(puVar10 + 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x20)" ( (binary_expression "puVar10 + 0x20" identifier + number_literal) )))) = (pointer_expression "&UNK_000290d4" & identifier)) ;) (expression_statement "*(undefined **)(puVar10 + 0x24) = &UNK_000290e2;" (assignment_expression "*(undefined **)(puVar10 + 0x24) = &UNK_000290e2" (pointer_expression "*(undefined **)(puVar10 + 0x24)" * (cast_expression "(undefined **)(puVar10 + 0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x24)" ( (binary_expression "puVar10 + 0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_000290e2" & identifier)) ;) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }" { (do_statement "do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));" do (compound_statement "{\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    }" { (expression_statement "*(uint *)(puVar10 + -8) = uVar13;" (assignment_expression "*(uint *)(puVar10 + -8) = uVar13" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x20)" * (cast_expression "(undefined4 *)(puVar10 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x20)" ( (binary_expression "puVar10 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014e8e" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014e8e" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar10 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar10 + 0x1c)" * (cast_expression "(int *)(puVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }" if (parenthesized_expression "(*(int *)(puVar10 + 0x14) == 1)" ( (binary_expression "*(int *)(puVar10 + 0x14) == 1" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }" { (expression_statement "*(undefined **)(puVar10 + 0x18) = &UNK_000290dc;" (assignment_expression "*(undefined **)(puVar10 + 0x18) = &UNK_000290dc" (pointer_expression "*(undefined **)(puVar10 + 0x18)" * (cast_expression "(undefined **)(puVar10 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_000290dc" & identifier)) ;) (expression_statement "uVar11 = uVar13;" (assignment_expression "uVar11 = uVar13" identifier = identifier) ;) (do_statement "do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);" do (compound_statement "{\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        }" { (if_statement "if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" if (parenthesized_expression "(uVar11 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar11 < *(uint *)(puVar10 + 0x7c)" identifier < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) (compound_statement "{\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }" { (expression_statement "*(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "(uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + uVar11)" ( (binary_expression "*(int *)(puVar10 + 0xc) + uVar11" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x18)" * (cast_expression "(undefined4 *)(puVar10 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015046;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015046" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015046" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" else (compound_statement "{\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" { (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x24)" * (cast_expression "(undefined4 *)(puVar10 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x24)" ( (binary_expression "puVar10 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001506a;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001506a" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001506a" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) }))) (expression_statement "uVar11 = uVar11 + 1;" (assignment_expression "uVar11 = uVar11 + 1" identifier = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(uint *)(puVar10 + 0x10) != uVar11)" ( (binary_expression "*(uint *)(puVar10 + 0x10) != uVar11" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) != identifier) )) ;) })) (do_statement "do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);" do (compound_statement "{\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      }" { (if_statement "if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;" if (parenthesized_expression "(*(uint *)(puVar10 + 0x7c) <= uVar13)" ( (binary_expression "*(uint *)(puVar10 + 0x7c) <= uVar13" (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);" (assignment_expression "bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" * (cast_expression "(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + uVar13" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" if (parenthesized_expression "(*(int *)(puVar10 + 0x14) == 2)" ( (binary_expression "*(int *)(puVar10 + 0x14) == 2" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }" { (expression_statement "uVar11 = uVar13 + 1;" (assignment_expression "uVar11 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" if (parenthesized_expression "((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd))" ( (binary_expression "(uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)" (parenthesized_expression "(uVar11 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar11 < *(uint *)(puVar10 + 0x7c)" identifier < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) && (parenthesized_expression "(bVar20 == 0xd)" ( (binary_expression "bVar20 == 0xd" identifier == number_literal) ))) )) (compound_statement "{\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" { (if_statement "if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }" if (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n')" ( (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + 1 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 1" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + identifier) )))) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }" { (expression_statement "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;" (assignment_expression "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar10 + 0x14) + uVar13" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) + identifier)) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;" statement_identifier : (expression_statement "*(uint *)(puVar10 + 0x18) = uVar11;" (assignment_expression "*(uint *)(puVar10 + 0x18) = uVar11" (pointer_expression "*(uint *)(puVar10 + 0x18)" * (cast_expression "(uint *)(puVar10 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x2e;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x2e" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" else (compound_statement "{\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" { (if_statement "if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;" if (parenthesized_expression "(0x5f < (byte)(bVar20 - 0x20))" ( (binary_expression "0x5f < (byte)(bVar20 - 0x20)" number_literal < (call_expression "(byte)(bVar20 - 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar20 - 0x20)" ( (binary_expression "bVar20 - 0x20" identifier - number_literal) )))) )) (goto_statement "goto code_r0x00014feb;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar10 + 0x18) = uVar11;" (assignment_expression "*(uint *)(puVar10 + 0x18) = uVar11" (pointer_expression "*(uint *)(puVar10 + 0x18)" * (cast_expression "(uint *)(puVar10 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar10 + -8) = (uint)bVar20;" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)bVar20" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "*(char **)(puVar10 + -0xc) = "%c";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%c"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""%c"" " string_content ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f16;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f16" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014f16" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar11 = *(uint *)(puVar10 + 0x18);" (assignment_expression "uVar11 = *(uint *)(puVar10 + 0x18)" identifier = (pointer_expression "*(uint *)(puVar10 + 0x18)" * (cast_expression "(uint *)(puVar10 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }" if (parenthesized_expression "(((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n'))" ( (binary_expression "((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')" (parenthesized_expression "((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r'))" ( (binary_expression "(uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')" (parenthesized_expression "(uVar13 + 2 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar13 + 2 < *(uint *)(puVar10 + 0x7c)" (binary_expression "uVar13 + 2" identifier + number_literal) < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')" ( (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + 1 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 1" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + identifier) )))) == (char_literal "'\r'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')" ( (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13)" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 2 + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + 2 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 2" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + identifier) )))) == (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }" { (expression_statement "*(uint *)(puVar10 + 0x10) = uVar13 + 3;" (assignment_expression "*(uint *)(puVar10 + 0x10) = uVar13 + 3" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = (binary_expression "uVar13 + 3" identifier + number_literal)) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" else (compound_statement "{\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" { (if_statement "if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" if (parenthesized_expression "((byte)(bVar20 - 0x20) < 0x60)" ( (binary_expression "(byte)(bVar20 - 0x20) < 0x60" (call_expression "(byte)(bVar20 - 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar20 - 0x20)" ( (binary_expression "bVar20 - 0x20" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" { (expression_statement "*(uint *)(puVar10 + -8) = (uint)bVar20;" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)bVar20" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x2e;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x2e" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "*(char **)(puVar10 + -0xc) = "%c";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%c"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""%c"" " string_content ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014ec7" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014ec7" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar11 = uVar13 + 1;" (assignment_expression "uVar11 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) }))) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(uint *)(puVar10 + 0x10) != uVar11)" ( (binary_expression "*(uint *)(puVar10 + 0x10) != uVar11" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "*(FILE **)(puVar10 + -0xc) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0xc) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0xc)" * (cast_expression "(FILE **)(puVar10 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f4b" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014f4b" & identifier)) ;) (expression_statement "fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));" (call_expression "fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc))" identifier (argument_list "(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc))" ( (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -0xc)" * (cast_expression "(FILE **)(puVar10 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar13 = *(uint *)(puVar10 + 0x10);" (assignment_expression "uVar13 = *(uint *)(puVar10 + 0x10)" identifier = (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar13 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar13 < *(uint *)(puVar10 + 0x7c)" identifier < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) ;) })) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f65;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f65" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014f65" & identifier)) ;) (expression_statement "fflush(*(FILE **)(puVar10 + -0x10));" (call_expression "fflush(*(FILE **)(puVar10 + -0x10))" identifier (argument_list "(*(FILE **)(puVar10 + -0x10))" ( (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }" statement_identifier : (if_statement "if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar10 + 0x4c)" * (cast_expression "(int *)(puVar10 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x4c)" ( (binary_expression "puVar10 + 0x4c" 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    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) }))) comment (expression_statement "*(undefined4 *)(puVar10 + -4) = 0x152d7;" (assignment_expression "*(undefined4 *)(puVar10 + -4) = 0x152d7" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000289b0();" (call_expression "FUN_000289b0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint tool_debug_cb(CURL *handle,curl_infotype type,char *data,size_t size,void *userdata)\n\n{\n  int iVar1;\n  GlobalConfig *config;\n  FILE *pFVar2;\n  trace tVar3;\n  byte *__filename;\n  char cVar4;\n  tm *ptVar5;\n  char *pcVar6;\n  uint uVar7;\n  FILE *__s;\n  int iVar8;\n  uint uVar9;\n  size_t __size;\n  byte *pbVar10;\n  int iVar11;\n  byte *pbVar12;\n  int in_GS_OFFSET;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  _Bool _Var16;\n  byte bVar17;\n  uint local_5c;\n  int local_44;\n  undefined4 uStack_40;\n  time_t secs;\n  char timebuf [20];\n  \n  bVar17 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  config = *(GlobalConfig **)((int)userdata + 0x290);\n  pFVar2 = (FILE *)config->errors;\n  if (config->tracetime == false) {\n    __s = (FILE *)config->trace_stream;\n    timebuf[0] = '\0';\n  }\n  else {\n    tvnow();\n    if (tool_debug_cb::lexical_block_12::known_offset == 0) {\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }\n    else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }\n    ptVar5 = localtime(&secs);\n    curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40);\n    __s = (FILE *)config->trace_stream;\n  }\n  bVar15 = __s == (FILE *)0x0;\n  if (bVar15) {\n    bVar13 = false;\n    __filename = (byte *)config->trace_dump;\n    iVar8 = 2;\n    pbVar10 = &DAT_0003d16d;\n    pbVar12 = __filename;\n    do {\n      if (iVar8 == 0) break;\n      iVar8 = iVar8 + -1;\n      bVar13 = *pbVar10 < *pbVar12;\n      bVar15 = *pbVar10 == *pbVar12;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n    } while (bVar15);\n    bVar14 = false;\n    bVar15 = (!bVar13 && !bVar15) == bVar13;\n    if (bVar15) {\n      __s = *(FILE **)PTR_stdout_00049fb0;\n      config->trace_stream = (FILE *)__s;\n    }\n    else {\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }\n    if ((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)) {\n      warnf(config,"Failed to create/open output");\n      goto switchD_00014c98_caseD_7;\n    }\n  }\n  tVar3 = config->tracetype;\n  if (tVar3 == TRACE_PLAIN) {\n    switch(type) {\n    case CURLINFO_TEXT:\n    case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_DATA_IN:\n    case CURLINFO_DATA_OUT:\n    case CURLINFO_SSL_DATA_IN:\n    case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;\n    default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;\n    }\n    tool_debug_cb::lexical_block_13::traced_data = false;\n    tool_debug_cb::lexical_block_13::newl = _Var16;\n    goto switchD_00014c98_caseD_7;\n  }\n  switch(type) {\n  case CURLINFO_TEXT:\n    curl_mfprintf(__s,"%s== Info: %s",timebuf,data);\n    goto switchD_00014c98_caseD_7;\n  case CURLINFO_HEADER_IN:\n    pcVar6 = "<= Recv header";\n    break;\n  case CURLINFO_HEADER_OUT:\n    pcVar6 = "=> Send header";\n    break;\n  case CURLINFO_DATA_IN:\n    pcVar6 = "<= Recv data";\n    break;\n  case CURLINFO_DATA_OUT:\n    pcVar6 = "=> Send data";\n    break;\n  case CURLINFO_SSL_DATA_IN:\n    pcVar6 = "<= Recv SSL data";\n    break;\n  case CURLINFO_SSL_DATA_OUT:\n    pcVar6 = "=> Send SSL data";\n    break;\n  default:\n    goto switchD_00014c98_caseD_7;\n  }\n  iVar8 = 0x40;\n  if (tVar3 != TRACE_ASCII) {\n    iVar8 = 0x10;\n  }\n  local_5c = 0;\n  curl_mfprintf(__s,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,size,size);\n  if (size != 0) {\n    do {\n      curl_mfprintf(__s,"%04zx: ",local_5c);\n      uVar7 = iVar8 + local_5c;\n      uVar9 = local_5c;\n      if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }\n      do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);\n      local_5c = uVar7;\n      fputc(10,__s);\n    } while (local_5c < size);\n  }\n  fflush(__s);\nswitchD_00014c98_caseD_7:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "int tool_debug_cb(CURL *handle,curl_infotype type,char *data,size_t size,void *userdata)\n\n{\n  int iVar1;\n  GlobalConfig *config;\n  FILE *pFVar2;\n  trace tVar3;\n  byte *__filename;\n  char cVar4;\n  tm *ptVar5;\n  char *pcVar6;\n  uint uVar7;\n  FILE *__s;\n  int iVar8;\n  uint uVar9;\n  size_t __size;\n  byte *pbVar10;\n  int iVar11;\n  byte *pbVar12;\n  int in_GS_OFFSET;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  _Bool _Var16;\n  byte bVar17;\n  uint local_5c;\n  int local_44;\n  undefined4 uStack_40;\n  time_t secs;\n  char timebuf [20];\n  \n  bVar17 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  config = *(GlobalConfig **)((int)userdata + 0x290);\n  pFVar2 = (FILE *)config->errors;\n  if (config->tracetime == false) {\n    __s = (FILE *)config->trace_stream;\n    timebuf[0] = '\0';\n  }\n  else {\n    tvnow();\n    if (tool_debug_cb::lexical_block_12::known_offset == 0) {\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }\n    else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }\n    ptVar5 = localtime(&secs);\n    curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40);\n    __s = (FILE *)config->trace_stream;\n  }\n  bVar15 = __s == (FILE *)0x0;\n  if (bVar15) {\n    bVar13 = false;\n    __filename = (byte *)config->trace_dump;\n    iVar8 = 2;\n    pbVar10 = &DAT_0003d16d;\n    pbVar12 = __filename;\n    do {\n      if (iVar8 == 0) break;\n      iVar8 = iVar8 + -1;\n      bVar13 = *pbVar10 < *pbVar12;\n      bVar15 = *pbVar10 == *pbVar12;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n    } while (bVar15);\n    bVar14 = false;\n    bVar15 = (!bVar13 && !bVar15) == bVar13;\n    if (bVar15) {\n      __s = *(FILE **)PTR_stdout_00049fb0;\n      config->trace_stream = (FILE *)__s;\n    }\n    else {\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }\n    if ((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)) {\n      warnf(config,"Failed to create/open output");\n      goto switchD_00014c98_caseD_7;\n    }\n  }\n  tVar3 = config->tracetype;\n  if (tVar3 == TRACE_PLAIN) {\n    switch(type) {\n    case CURLINFO_TEXT:\n    case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_DATA_IN:\n    case CURLINFO_DATA_OUT:\n    case CURLINFO_SSL_DATA_IN:\n    case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;\n    default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;\n    }\n    tool_debug_cb::lexical_block_13::traced_data = false;\n    tool_debug_cb::lexical_block_13::newl = _Var16;\n    goto switchD_00014c98_caseD_7;\n  }\n  switch(type) {\n  case CURLINFO_TEXT:\n    curl_mfprintf(__s,"%s== Info: %s",timebuf,data);\n    goto switchD_00014c98_caseD_7;\n  case CURLINFO_HEADER_IN:\n    pcVar6 = "<= Recv header";\n    break;\n  case CURLINFO_HEADER_OUT:\n    pcVar6 = "=> Send header";\n    break;\n  case CURLINFO_DATA_IN:\n    pcVar6 = "<= Recv data";\n    break;\n  case CURLINFO_DATA_OUT:\n    pcVar6 = "=> Send data";\n    break;\n  case CURLINFO_SSL_DATA_IN:\n    pcVar6 = "<= Recv SSL data";\n    break;\n  case CURLINFO_SSL_DATA_OUT:\n    pcVar6 = "=> Send SSL data";\n    break;\n  default:\n    goto switchD_00014c98_caseD_7;\n  }\n  iVar8 = 0x40;\n  if (tVar3 != TRACE_ASCII) {\n    iVar8 = 0x10;\n  }\n  local_5c = 0;\n  curl_mfprintf(__s,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,size,size);\n  if (size != 0) {\n    do {\n      curl_mfprintf(__s,"%04zx: ",local_5c);\n      uVar7 = iVar8 + local_5c;\n      uVar9 = local_5c;\n      if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }\n      do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);\n      local_5c = uVar7;\n      fputc(10,__s);\n    } while (local_5c < size);\n  }\n  fflush(__s);\nswitchD_00014c98_caseD_7:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (function_declarator "tool_debug_cb(CURL *handle,curl_infotype type,char *data,size_t size,void *userdata)" identifier (parameter_list "(CURL *handle,curl_infotype type,char *data,size_t size,void *userdata)" ( (parameter_declaration "CURL *handle" type_identifier (pointer_declarator "*handle" * identifier)) , (parameter_declaration "curl_infotype type" type_identifier identifier) , (parameter_declaration "char *data" primitive_type (pointer_declarator "*data" * identifier)) , (parameter_declaration "size_t size" primitive_type identifier) , (parameter_declaration "void *userdata" primitive_type (pointer_declarator "*userdata" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  GlobalConfig *config;\n  FILE *pFVar2;\n  trace tVar3;\n  byte *__filename;\n  char cVar4;\n  tm *ptVar5;\n  char *pcVar6;\n  uint uVar7;\n  FILE *__s;\n  int iVar8;\n  uint uVar9;\n  size_t __size;\n  byte *pbVar10;\n  int iVar11;\n  byte *pbVar12;\n  int in_GS_OFFSET;\n  bool bVar13;\n  bool bVar14;\n  bool bVar15;\n  _Bool _Var16;\n  byte bVar17;\n  uint local_5c;\n  int local_44;\n  undefined4 uStack_40;\n  time_t secs;\n  char timebuf [20];\n  \n  bVar17 = 0;\n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  config = *(GlobalConfig **)((int)userdata + 0x290);\n  pFVar2 = (FILE *)config->errors;\n  if (config->tracetime == false) {\n    __s = (FILE *)config->trace_stream;\n    timebuf[0] = '\0';\n  }\n  else {\n    tvnow();\n    if (tool_debug_cb::lexical_block_12::known_offset == 0) {\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }\n    else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }\n    ptVar5 = localtime(&secs);\n    curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40);\n    __s = (FILE *)config->trace_stream;\n  }\n  bVar15 = __s == (FILE *)0x0;\n  if (bVar15) {\n    bVar13 = false;\n    __filename = (byte *)config->trace_dump;\n    iVar8 = 2;\n    pbVar10 = &DAT_0003d16d;\n    pbVar12 = __filename;\n    do {\n      if (iVar8 == 0) break;\n      iVar8 = iVar8 + -1;\n      bVar13 = *pbVar10 < *pbVar12;\n      bVar15 = *pbVar10 == *pbVar12;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n    } while (bVar15);\n    bVar14 = false;\n    bVar15 = (!bVar13 && !bVar15) == bVar13;\n    if (bVar15) {\n      __s = *(FILE **)PTR_stdout_00049fb0;\n      config->trace_stream = (FILE *)__s;\n    }\n    else {\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }\n    if ((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)) {\n      warnf(config,"Failed to create/open output");\n      goto switchD_00014c98_caseD_7;\n    }\n  }\n  tVar3 = config->tracetype;\n  if (tVar3 == TRACE_PLAIN) {\n    switch(type) {\n    case CURLINFO_TEXT:\n    case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_DATA_IN:\n    case CURLINFO_DATA_OUT:\n    case CURLINFO_SSL_DATA_IN:\n    case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;\n    default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;\n    }\n    tool_debug_cb::lexical_block_13::traced_data = false;\n    tool_debug_cb::lexical_block_13::newl = _Var16;\n    goto switchD_00014c98_caseD_7;\n  }\n  switch(type) {\n  case CURLINFO_TEXT:\n    curl_mfprintf(__s,"%s== Info: %s",timebuf,data);\n    goto switchD_00014c98_caseD_7;\n  case CURLINFO_HEADER_IN:\n    pcVar6 = "<= Recv header";\n    break;\n  case CURLINFO_HEADER_OUT:\n    pcVar6 = "=> Send header";\n    break;\n  case CURLINFO_DATA_IN:\n    pcVar6 = "<= Recv data";\n    break;\n  case CURLINFO_DATA_OUT:\n    pcVar6 = "=> Send data";\n    break;\n  case CURLINFO_SSL_DATA_IN:\n    pcVar6 = "<= Recv SSL data";\n    break;\n  case CURLINFO_SSL_DATA_OUT:\n    pcVar6 = "=> Send SSL data";\n    break;\n  default:\n    goto switchD_00014c98_caseD_7;\n  }\n  iVar8 = 0x40;\n  if (tVar3 != TRACE_ASCII) {\n    iVar8 = 0x10;\n  }\n  local_5c = 0;\n  curl_mfprintf(__s,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,size,size);\n  if (size != 0) {\n    do {\n      curl_mfprintf(__s,"%04zx: ",local_5c);\n      uVar7 = iVar8 + local_5c;\n      uVar9 = local_5c;\n      if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }\n      do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);\n      local_5c = uVar7;\n      fputc(10,__s);\n    } while (local_5c < size);\n  }\n  fflush(__s);\nswitchD_00014c98_caseD_7:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "GlobalConfig *config;" type_identifier (pointer_declarator "*config" * identifier) ;) (declaration "FILE *pFVar2;" type_identifier (pointer_declarator "*pFVar2" * identifier) ;) (declaration "trace tVar3;" type_identifier identifier ;) (declaration "byte *__filename;" type_identifier (pointer_declarator "*__filename" * identifier) ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "tm *ptVar5;" type_identifier (pointer_declarator "*ptVar5" * identifier) ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "FILE *__s;" type_identifier (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "size_t __size;" primitive_type identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "_Bool _Var16;" type_identifier identifier ;) (declaration "byte bVar17;" type_identifier identifier ;) (declaration "uint local_5c;" type_identifier identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "undefined4 uStack_40;" type_identifier identifier ;) (declaration "time_t secs;" type_identifier identifier ;) (declaration "char timebuf [20];" primitive_type (array_declarator "timebuf [20]" identifier [ number_literal ]) ;) (expression_statement "bVar17 = 0;" (assignment_expression "bVar17 = 0" 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 "config = *(GlobalConfig **)((int)userdata + 0x290);" (assignment_expression "config = *(GlobalConfig **)((int)userdata + 0x290)" identifier = (pointer_expression "*(GlobalConfig **)((int)userdata + 0x290)" * (cast_expression "(GlobalConfig **)((int)userdata + 0x290)" ( (type_descriptor "GlobalConfig **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)userdata + 0x290)" ( (binary_expression "(int)userdata + 0x290" (cast_expression "(int)userdata" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "pFVar2 = (FILE *)config->errors;" (assignment_expression "pFVar2 = (FILE *)config->errors" identifier = (cast_expression "(FILE *)config->errors" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config->errors" identifier -> field_identifier))) ;) (if_statement "if (config->tracetime == false) {\n    __s = (FILE *)config->trace_stream;\n    timebuf[0] = '\0';\n  }\n  else {\n    tvnow();\n    if (tool_debug_cb::lexical_block_12::known_offset == 0) {\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }\n    else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }\n    ptVar5 = localtime(&secs);\n    curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40);\n    __s = (FILE *)config->trace_stream;\n  }" if (parenthesized_expression "(config->tracetime == false)" ( (binary_expression "config->tracetime == false" (field_expression "config->tracetime" identifier -> field_identifier) == false) )) (compound_statement "{\n    __s = (FILE *)config->trace_stream;\n    timebuf[0] = '\0';\n  }" { (expression_statement "__s = (FILE *)config->trace_stream;" (assignment_expression "__s = (FILE *)config->trace_stream" identifier = (cast_expression "(FILE *)config->trace_stream" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config->trace_stream" identifier -> field_identifier))) ;) (expression_statement "timebuf[0] = '\0';" (assignment_expression "timebuf[0] = '\0'" (subscript_expression "timebuf[0]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) }) (else_clause "else {\n    tvnow();\n    if (tool_debug_cb::lexical_block_12::known_offset == 0) {\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }\n    else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }\n    ptVar5 = localtime(&secs);\n    curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40);\n    __s = (FILE *)config->trace_stream;\n  }" else (compound_statement "{\n    tvnow();\n    if (tool_debug_cb::lexical_block_12::known_offset == 0) {\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }\n    else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }\n    ptVar5 = localtime(&secs);\n    curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40);\n    __s = (FILE *)config->trace_stream;\n  }" { (expression_statement "tvnow();" (call_expression "tvnow()" identifier (argument_list "()" ( ))) ;) (if_statement "if (tool_debug_cb::lexical_block_12::known_offset == 0) {\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }\n    else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }" if (parenthesized_expression "(tool_debug_cb::lexical_block_12::known_offset == 0)" ( (ERROR "tool_debug_cb::lexical_block_12::" identifier : : identifier : :) (binary_expression "known_offset == 0" identifier == number_literal) )) (compound_statement "{\n      secs = time((time_t *)0x0);\n      tool_debug_cb::lexical_block_12::known_offset = 1;\n      tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;\n    }" { (expression_statement "secs = time((time_t *)0x0);" (assignment_expression "secs = 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) )))) ;) (labeled_statement "tool_debug_cb::lexical_block_12::known_offset = 1;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_12::known_offset = 1;" statement_identifier : (ERROR ":" :) (expression_statement "known_offset = 1;" (assignment_expression "known_offset = 1" identifier = number_literal) ;))) (labeled_statement "tool_debug_cb::lexical_block_12::epoch_offset = secs - local_44;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_12::epoch_offset = secs - local_44;" statement_identifier : (ERROR ":" :) (expression_statement "epoch_offset = secs - local_44;" (assignment_expression "epoch_offset = secs - local_44" identifier = (binary_expression "secs - local_44" identifier - identifier)) ;))) }) (else_clause "else {\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }" else (compound_statement "{\n      secs = tool_debug_cb::lexical_block_12::epoch_offset + local_44;\n    }" { (ERROR "secs = tool_debug_cb::" (assignment_expression "secs = tool_debug_cb" identifier = identifier) : :) (labeled_statement "lexical_block_12::epoch_offset + local_44;" statement_identifier : (ERROR ":" :) (expression_statement "epoch_offset + local_44;" (binary_expression "epoch_offset + local_44" identifier + identifier) ;)) }))) (expression_statement "ptVar5 = localtime(&secs);" (assignment_expression "ptVar5 = localtime(&secs)" identifier = (call_expression "localtime(&secs)" identifier (argument_list "(&secs)" ( (pointer_expression "&secs" & identifier) )))) ;) (expression_statement "curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40);" (call_expression "curl_msnprintf(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40)" identifier (argument_list "(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,\n                   ptVar5->tm_sec,uStack_40)" ( identifier , number_literal , (string_literal ""%02d:%02d:%02d.%06ld "" " string_content ") , (field_expression "ptVar5->tm_hour" identifier -> field_identifier) , (field_expression "ptVar5->tm_min" identifier -> field_identifier) , (field_expression "ptVar5->tm_sec" identifier -> field_identifier) , identifier ))) ;) (expression_statement "__s = (FILE *)config->trace_stream;" (assignment_expression "__s = (FILE *)config->trace_stream" identifier = (cast_expression "(FILE *)config->trace_stream" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config->trace_stream" identifier -> field_identifier))) ;) }))) (expression_statement "bVar15 = __s == (FILE *)0x0;" (assignment_expression "bVar15 = __s == (FILE *)0x0" identifier = (binary_expression "__s == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar15) {\n    bVar13 = false;\n    __filename = (byte *)config->trace_dump;\n    iVar8 = 2;\n    pbVar10 = &DAT_0003d16d;\n    pbVar12 = __filename;\n    do {\n      if (iVar8 == 0) break;\n      iVar8 = iVar8 + -1;\n      bVar13 = *pbVar10 < *pbVar12;\n      bVar15 = *pbVar10 == *pbVar12;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n    } while (bVar15);\n    bVar14 = false;\n    bVar15 = (!bVar13 && !bVar15) == bVar13;\n    if (bVar15) {\n      __s = *(FILE **)PTR_stdout_00049fb0;\n      config->trace_stream = (FILE *)__s;\n    }\n    else {\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }\n    if ((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)) {\n      warnf(config,"Failed to create/open output");\n      goto switchD_00014c98_caseD_7;\n    }\n  }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n    bVar13 = false;\n    __filename = (byte *)config->trace_dump;\n    iVar8 = 2;\n    pbVar10 = &DAT_0003d16d;\n    pbVar12 = __filename;\n    do {\n      if (iVar8 == 0) break;\n      iVar8 = iVar8 + -1;\n      bVar13 = *pbVar10 < *pbVar12;\n      bVar15 = *pbVar10 == *pbVar12;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n    } while (bVar15);\n    bVar14 = false;\n    bVar15 = (!bVar13 && !bVar15) == bVar13;\n    if (bVar15) {\n      __s = *(FILE **)PTR_stdout_00049fb0;\n      config->trace_stream = (FILE *)__s;\n    }\n    else {\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }\n    if ((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)) {\n      warnf(config,"Failed to create/open output");\n      goto switchD_00014c98_caseD_7;\n    }\n  }" { (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "__filename = (byte *)config->trace_dump;" (assignment_expression "__filename = (byte *)config->trace_dump" identifier = (cast_expression "(byte *)config->trace_dump" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config->trace_dump" identifier -> field_identifier))) ;) (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) (expression_statement "pbVar10 = &DAT_0003d16d;" (assignment_expression "pbVar10 = &DAT_0003d16d" identifier = (pointer_expression "&DAT_0003d16d" & identifier)) ;) (expression_statement "pbVar12 = __filename;" (assignment_expression "pbVar12 = __filename" identifier = identifier) ;) (do_statement "do {\n      if (iVar8 == 0) break;\n      iVar8 = iVar8 + -1;\n      bVar13 = *pbVar10 < *pbVar12;\n      bVar15 = *pbVar10 == *pbVar12;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n    } while (bVar15);" do (compound_statement "{\n      if (iVar8 == 0) break;\n      iVar8 = iVar8 + -1;\n      bVar13 = *pbVar10 < *pbVar12;\n      bVar15 = *pbVar10 == *pbVar12;\n      pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n      pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n    }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar13 = *pbVar10 < *pbVar12;" (assignment_expression "bVar13 = *pbVar10 < *pbVar12" identifier = (binary_expression "*pbVar10 < *pbVar12" (pointer_expression "*pbVar10" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar10 == *pbVar12;" (assignment_expression "bVar15 = *pbVar10 == *pbVar12" identifier = (binary_expression "*pbVar10 == *pbVar12" (pointer_expression "*pbVar10" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar15 = (!bVar13 && !bVar15) == bVar13;" (assignment_expression "bVar15 = (!bVar13 && !bVar15) == bVar13" identifier = (binary_expression "(!bVar13 && !bVar15) == bVar13" (parenthesized_expression "(!bVar13 && !bVar15)" ( (binary_expression "!bVar13 && !bVar15" (unary_expression "!bVar13" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar15) {\n      __s = *(FILE **)PTR_stdout_00049fb0;\n      config->trace_stream = (FILE *)__s;\n    }\n    else {\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n      __s = *(FILE **)PTR_stdout_00049fb0;\n      config->trace_stream = (FILE *)__s;\n    }" { (expression_statement "__s = *(FILE **)PTR_stdout_00049fb0;" (assignment_expression "__s = *(FILE **)PTR_stdout_00049fb0" identifier = (pointer_expression "*(FILE **)PTR_stdout_00049fb0" * (cast_expression "(FILE **)PTR_stdout_00049fb0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "config->trace_stream = (FILE *)__s;" (assignment_expression "config->trace_stream = (FILE *)__s" (field_expression "config->trace_stream" identifier -> field_identifier) = (cast_expression "(FILE *)__s" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }" else (compound_statement "{\n      iVar8 = 2;\n      pbVar10 = &DAT_00029189;\n      pbVar12 = __filename;\n      do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);\n      if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }\n    }" { (expression_statement "iVar8 = 2;" (assignment_expression "iVar8 = 2" identifier = number_literal) ;) (expression_statement "pbVar10 = &DAT_00029189;" (assignment_expression "pbVar10 = &DAT_00029189" identifier = (pointer_expression "&DAT_00029189" & identifier)) ;) (expression_statement "pbVar12 = __filename;" (assignment_expression "pbVar12 = __filename" identifier = identifier) ;) (do_statement "do {\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      } while (bVar15);" do (compound_statement "{\n        if (iVar8 == 0) break;\n        iVar8 = iVar8 + -1;\n        bVar14 = *pbVar10 < *pbVar12;\n        bVar15 = *pbVar10 == *pbVar12;\n        pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;\n        pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;\n      }" { (if_statement "if (iVar8 == 0) break;" if (parenthesized_expression "(iVar8 == 0)" ( (binary_expression "iVar8 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar8 = iVar8 + -1;" (assignment_expression "iVar8 = iVar8 + -1" identifier = (binary_expression "iVar8 + -1" identifier + number_literal)) ;) (expression_statement "bVar14 = *pbVar10 < *pbVar12;" (assignment_expression "bVar14 = *pbVar10 < *pbVar12" identifier = (binary_expression "*pbVar10 < *pbVar12" (pointer_expression "*pbVar10" * identifier) < (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "bVar15 = *pbVar10 == *pbVar12;" (assignment_expression "bVar15 = *pbVar10 == *pbVar12" identifier = (binary_expression "*pbVar10 == *pbVar12" (pointer_expression "*pbVar10" * identifier) == (pointer_expression "*pbVar12" * identifier))) ;) (expression_statement "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar10 = pbVar10 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar10 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar10 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar17 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar17 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar17 * -2" identifier + (binary_expression "(uint)bVar17 * -2" (cast_expression "(uint)bVar17" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) (if_statement "if ((!bVar14 && !bVar15) == bVar14) {\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }\n      else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }" if (parenthesized_expression "((!bVar14 && !bVar15) == bVar14)" ( (binary_expression "(!bVar14 && !bVar15) == bVar14" (parenthesized_expression "(!bVar14 && !bVar15)" ( (binary_expression "!bVar14 && !bVar15" (unary_expression "!bVar14" ! identifier) && (unary_expression "!bVar15" ! identifier)) )) == identifier) )) (compound_statement "{\n        __s = (FILE *)config->errors;\n        config->trace_stream = (FILE *)__s;\n      }" { (expression_statement "__s = (FILE *)config->errors;" (assignment_expression "__s = (FILE *)config->errors" identifier = (cast_expression "(FILE *)config->errors" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "config->errors" identifier -> field_identifier))) ;) (expression_statement "config->trace_stream = (FILE *)__s;" (assignment_expression "config->trace_stream = (FILE *)__s" (field_expression "config->trace_stream" identifier -> field_identifier) = (cast_expression "(FILE *)__s" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }) (else_clause "else {\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }" else (compound_statement "{\n        __s = fopen64((char *)__filename,"w");\n        config->trace_fopened = true;\n        config->trace_stream = (FILE *)__s;\n      }" { (expression_statement "__s = fopen64((char *)__filename,"w");" (assignment_expression "__s = fopen64((char *)__filename,"w")" identifier = (call_expression "fopen64((char *)__filename,"w")" identifier (argument_list "((char *)__filename,"w")" ( (cast_expression "(char *)__filename" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (string_literal ""w"" " string_content ") )))) ;) (expression_statement "config->trace_fopened = true;" (assignment_expression "config->trace_fopened = true" (field_expression "config->trace_fopened" identifier -> field_identifier) = true) ;) (expression_statement "config->trace_stream = (FILE *)__s;" (assignment_expression "config->trace_stream = (FILE *)__s" (field_expression "config->trace_stream" identifier -> field_identifier) = (cast_expression "(FILE *)__s" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) }))) }))) (if_statement "if ((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)) {\n      warnf(config,"Failed to create/open output");\n      goto switchD_00014c98_caseD_7;\n    }" if (parenthesized_expression "((__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0))" ( (binary_expression "(__s == (FILE *)0x0) && (__s = pFVar2, pFVar2 == (FILE *)0x0)" (parenthesized_expression "(__s == (FILE *)0x0)" ( (binary_expression "__s == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(__s = pFVar2, pFVar2 == (FILE *)0x0)" ( (comma_expression "__s = pFVar2, pFVar2 == (FILE *)0x0" (assignment_expression "__s = pFVar2" identifier = identifier) , (binary_expression "pFVar2 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      warnf(config,"Failed to create/open output");\n      goto switchD_00014c98_caseD_7;\n    }" { (expression_statement "warnf(config,"Failed to create/open output");" (call_expression "warnf(config,"Failed to create/open output")" identifier (argument_list "(config,"Failed to create/open output")" ( identifier , (string_literal ""Failed to create/open output"" " string_content ") ))) ;) (goto_statement "goto switchD_00014c98_caseD_7;" goto statement_identifier ;) })) })) (expression_statement "tVar3 = config->tracetype;" (assignment_expression "tVar3 = config->tracetype" identifier = (field_expression "config->tracetype" identifier -> field_identifier)) ;) (if_statement "if (tVar3 == TRACE_PLAIN) {\n    switch(type) {\n    case CURLINFO_TEXT:\n    case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_DATA_IN:\n    case CURLINFO_DATA_OUT:\n    case CURLINFO_SSL_DATA_IN:\n    case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;\n    default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;\n    }\n    tool_debug_cb::lexical_block_13::traced_data = false;\n    tool_debug_cb::lexical_block_13::newl = _Var16;\n    goto switchD_00014c98_caseD_7;\n  }" if (parenthesized_expression "(tVar3 == TRACE_PLAIN)" ( (binary_expression "tVar3 == TRACE_PLAIN" identifier == identifier) )) (compound_statement "{\n    switch(type) {\n    case CURLINFO_TEXT:\n    case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_DATA_IN:\n    case CURLINFO_DATA_OUT:\n    case CURLINFO_SSL_DATA_IN:\n    case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;\n    default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;\n    }\n    tool_debug_cb::lexical_block_13::traced_data = false;\n    tool_debug_cb::lexical_block_13::newl = _Var16;\n    goto switchD_00014c98_caseD_7;\n  }" { (switch_statement "switch(type) {\n    case CURLINFO_TEXT:\n    case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_DATA_IN:\n    case CURLINFO_DATA_OUT:\n    case CURLINFO_SSL_DATA_IN:\n    case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;\n    default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;\n    }" switch (parenthesized_expression "(type)" ( identifier )) (compound_statement "{\n    case CURLINFO_TEXT:\n    case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;\n    case CURLINFO_DATA_IN:\n    case CURLINFO_DATA_OUT:\n    case CURLINFO_SSL_DATA_IN:\n    case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;\n    default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;\n    }" { (case_statement "case CURLINFO_TEXT:" case identifier :) (case_statement "case CURLINFO_HEADER_IN:\n      if (tool_debug_cb::lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }\n      fwrite(data,size,1,__s);\n      _Var16 = false;\n      if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;" case identifier (ERROR ":\n      if (tool_debug_cb:" : if ( identifier :) : (labeled_statement "lexical_block_13::newl == false) {\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }" statement_identifier : (ERROR ":newl == false)" : (binary_expression "newl == false" identifier == false) )) (compound_statement "{\n        curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);\n      }" { (expression_statement "curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type]);" (call_expression "curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])" identifier (argument_list "(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])" ( identifier , (pointer_expression "&DAT_00029095" & identifier) , identifier , (ERROR "tool_debug_cb::lexical_block_13::" identifier : : identifier : :) (subscript_expression "s_infotype[type]" identifier [ identifier ]) ))) ;) })) (expression_statement "fwrite(data,size,1,__s);" (call_expression "fwrite(data,size,1,__s)" identifier (argument_list "(data,size,1,__s)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "_Var16 = false;" (assignment_expression "_Var16 = false" identifier = false) ;) (if_statement "if (size != 0) {\n        _Var16 = data[size - 1] != '\n';\n      }" if (parenthesized_expression "(size != 0)" ( (binary_expression "size != 0" identifier != number_literal) )) (compound_statement "{\n        _Var16 = data[size - 1] != '\n';\n      }" { (expression_statement "_Var16 = data[size - 1] != '\n';" (assignment_expression "_Var16 = data[size - 1] != '\n'" identifier = (binary_expression "data[size - 1] != '\n'" (subscript_expression "data[size - 1]" identifier [ (binary_expression "size - 1" identifier - number_literal) ]) != (char_literal "'\n'" ' escape_sequence '))) ;) })) (break_statement "break;" break ;)) (case_statement "case CURLINFO_HEADER_OUT:\n      _Var16 = false;\n      if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }\n      break;" case identifier : (expression_statement "_Var16 = false;" (assignment_expression "_Var16 = false" identifier = false) ;) (if_statement "if (size != 0) {\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }" if (parenthesized_expression "(size != 0)" ( (binary_expression "size != 0" identifier != number_literal) )) (compound_statement "{\n        cVar4 = tool_debug_cb::lexical_block_13::newl;\n        if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }\n        if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }\n        fwrite(pcVar6,__size,1,__s);\n        _Var16 = data[size - 1] != '\n';\n      }" { (ERROR "cVar4 = tool_debug_cb::" (assignment_expression "cVar4 = tool_debug_cb" identifier = identifier) : :) (labeled_statement "lexical_block_13::newl;" statement_identifier : (ERROR ":" :) (expression_statement "newl;" identifier ;)) (if_statement "if (size == 1) {\n          __size = 1;\n          pcVar6 = data;\n        }\n        else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }" if (parenthesized_expression "(size == 1)" ( (binary_expression "size == 1" identifier == number_literal) )) (compound_statement "{\n          __size = 1;\n          pcVar6 = data;\n        }" { (expression_statement "__size = 1;" (assignment_expression "__size = 1" identifier = number_literal) ;) (expression_statement "pcVar6 = data;" (assignment_expression "pcVar6 = data" identifier = identifier) ;) }) (else_clause "else {\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }" else (compound_statement "{\n          iVar11 = 0;\n          iVar8 = 0;\n          do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);\n          __size = size - iVar8;\n          pcVar6 = data + iVar8;\n        }" { (expression_statement "iVar11 = 0;" (assignment_expression "iVar11 = 0" identifier = number_literal) ;) (expression_statement "iVar8 = 0;" (assignment_expression "iVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          } while (size - 1 != iVar11);" do (compound_statement "{\n            pcVar6 = data + iVar11;\n            iVar11 = iVar11 + 1;\n            if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }\n          }" { (expression_statement "pcVar6 = data + iVar11;" (assignment_expression "pcVar6 = data + iVar11" identifier = (binary_expression "data + iVar11" identifier + identifier)) ;) (expression_statement "iVar11 = iVar11 + 1;" (assignment_expression "iVar11 = iVar11 + 1" identifier = (binary_expression "iVar11 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar6 == '\n') {\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }" if (parenthesized_expression "(*pcVar6 == '\n')" ( (binary_expression "*pcVar6 == '\n'" (pointer_expression "*pcVar6" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }\n              fwrite(data + iVar8,iVar11 - iVar8,1,__s);\n              cVar4 = '\0';\n              tool_debug_cb::lexical_block_13::newl = false;\n              iVar8 = iVar11;\n            }" { (if_statement "if (cVar4 == '\0') {\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n              }" { (expression_statement "curl_mfprintf(__s,&DAT_00029095,timebuf,">");" (call_expression "curl_mfprintf(__s,&DAT_00029095,timebuf,">")" identifier (argument_list "(__s,&DAT_00029095,timebuf,">")" ( identifier , (pointer_expression "&DAT_00029095" & identifier) , identifier , (string_literal "">"" " string_content ") ))) ;) })) (expression_statement "fwrite(data + iVar8,iVar11 - iVar8,1,__s);" (call_expression "fwrite(data + iVar8,iVar11 - iVar8,1,__s)" identifier (argument_list "(data + iVar8,iVar11 - iVar8,1,__s)" ( (binary_expression "data + iVar8" identifier + identifier) , (binary_expression "iVar11 - iVar8" identifier - identifier) , number_literal , identifier ))) ;) (expression_statement "cVar4 = '\0';" (assignment_expression "cVar4 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "tool_debug_cb::lexical_block_13::newl = false;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_13::newl = false;" statement_identifier : (ERROR ":" :) (expression_statement "newl = false;" (assignment_expression "newl = false" identifier = false) ;))) (expression_statement "iVar8 = iVar11;" (assignment_expression "iVar8 = iVar11" identifier = identifier) ;) })) }) while (parenthesized_expression "(size - 1 != iVar11)" ( (binary_expression "size - 1 != iVar11" (binary_expression "size - 1" identifier - number_literal) != identifier) )) ;) (expression_statement "__size = size - iVar8;" (assignment_expression "__size = size - iVar8" identifier = (binary_expression "size - iVar8" identifier - identifier)) ;) (expression_statement "pcVar6 = data + iVar8;" (assignment_expression "pcVar6 = data + iVar8" identifier = (binary_expression "data + iVar8" identifier + identifier)) ;) }))) (if_statement "if (cVar4 == '\0') {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          curl_mfprintf(__s,&DAT_00029095,timebuf,">");\n        }" { (expression_statement "curl_mfprintf(__s,&DAT_00029095,timebuf,">");" (call_expression "curl_mfprintf(__s,&DAT_00029095,timebuf,">")" identifier (argument_list "(__s,&DAT_00029095,timebuf,">")" ( identifier , (pointer_expression "&DAT_00029095" & identifier) , identifier , (string_literal "">"" " string_content ") ))) ;) })) (expression_statement "fwrite(pcVar6,__size,1,__s);" (call_expression "fwrite(pcVar6,__size,1,__s)" identifier (argument_list "(pcVar6,__size,1,__s)" ( identifier , identifier , number_literal , identifier ))) ;) (expression_statement "_Var16 = data[size - 1] != '\n';" (assignment_expression "_Var16 = data[size - 1] != '\n'" identifier = (binary_expression "data[size - 1] != '\n'" (subscript_expression "data[size - 1]" identifier [ (binary_expression "size - 1" identifier - number_literal) ]) != (char_literal "'\n'" ' escape_sequence '))) ;) })) (break_statement "break;" break ;)) (case_statement "case CURLINFO_DATA_IN:" case identifier :) (case_statement "case CURLINFO_DATA_OUT:" case identifier :) (case_statement "case CURLINFO_SSL_DATA_IN:" case identifier :) (case_statement "case CURLINFO_SSL_DATA_OUT:\n      if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }\n      goto switchD_00014c98_caseD_7;" case identifier : (if_statement "if ((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))) {\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }" if (parenthesized_expression "((tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s))))))" ( (binary_expression "(tool_debug_cb::lexical_block_13::traced_data == false) &&\n         ((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))" (parenthesized_expression "(tool_debug_cb::lexical_block_13::traced_data == false)" ( (ERROR "tool_debug_cb::lexical_block_13::" identifier : : identifier : :) (binary_expression "traced_data == false" identifier == false) )) && (parenthesized_expression "((config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))))" ( (parenthesized_expression "(config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s))))" ( (binary_expression "config->isatty == false ||\n          ((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))" (binary_expression "config->isatty == false" (field_expression "config->isatty" identifier -> field_identifier) == false) || (parenthesized_expression "((*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)))" ( (parenthesized_expression "(*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s))" ( (binary_expression "*(FILE **)PTR_stderr_00049ff0 != __s && (*(FILE **)PTR_stdout_00049fb0 != __s)" (binary_expression "*(FILE **)PTR_stderr_00049ff0 != __s" (pointer_expression "*(FILE **)PTR_stderr_00049ff0" * (cast_expression "(FILE **)PTR_stderr_00049ff0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) && (parenthesized_expression "(*(FILE **)PTR_stdout_00049fb0 != __s)" ( (binary_expression "*(FILE **)PTR_stdout_00049fb0 != __s" (pointer_expression "*(FILE **)PTR_stdout_00049fb0" * (cast_expression "(FILE **)PTR_stdout_00049fb0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) ))) )) ))) )) ))) )) (compound_statement "{\n        if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }\n        curl_mfprintf(__s,"[%zu bytes data]\n",size);\n        tool_debug_cb::lexical_block_13::newl = false;\n        tool_debug_cb::lexical_block_13::traced_data = true;\n      }" { (if_statement "if (tool_debug_cb::lexical_block_13::newl == false) {\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }" if (parenthesized_expression "(tool_debug_cb::lexical_block_13::newl == false)" ( (ERROR "tool_debug_cb::lexical_block_13::" identifier : : identifier : :) (binary_expression "newl == false" identifier == false) )) (compound_statement "{\n          curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;\n        }" { (expression_statement "curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])\n          ;" (call_expression "curl_mfprintf(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])" identifier (argument_list "(__s,&DAT_00029095,timebuf,tool_debug_cb::lexical_block_13::s_infotype[type])" ( identifier , (pointer_expression "&DAT_00029095" & identifier) , identifier , (ERROR "tool_debug_cb::lexical_block_13::" identifier : : identifier : :) (subscript_expression "s_infotype[type]" identifier [ identifier ]) ))) ;) })) (expression_statement "curl_mfprintf(__s,"[%zu bytes data]\n",size);" (call_expression "curl_mfprintf(__s,"[%zu bytes data]\n",size)" identifier (argument_list "(__s,"[%zu bytes data]\n",size)" ( identifier , (string_literal ""[%zu bytes data]\n"" " string_content escape_sequence ") , identifier ))) ;) (labeled_statement "tool_debug_cb::lexical_block_13::newl = false;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_13::newl = false;" statement_identifier : (ERROR ":" :) (expression_statement "newl = false;" (assignment_expression "newl = false" identifier = false) ;))) (labeled_statement "tool_debug_cb::lexical_block_13::traced_data = true;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_13::traced_data = true;" statement_identifier : (ERROR ":" :) (expression_statement "traced_data = true;" (assignment_expression "traced_data = true" identifier = true) ;))) })) (goto_statement "goto switchD_00014c98_caseD_7;" goto statement_identifier ;)) (case_statement "default:\n      tool_debug_cb::lexical_block_13::newl = false;\n      tool_debug_cb::lexical_block_13::traced_data = false;\n      goto switchD_00014c98_caseD_7;" default : (labeled_statement "tool_debug_cb::lexical_block_13::newl = false;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_13::newl = false;" statement_identifier : (ERROR ":" :) (expression_statement "newl = false;" (assignment_expression "newl = false" identifier = false) ;))) (labeled_statement "tool_debug_cb::lexical_block_13::traced_data = false;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_13::traced_data = false;" statement_identifier : (ERROR ":" :) (expression_statement "traced_data = false;" (assignment_expression "traced_data = false" identifier = false) ;))) (goto_statement "goto switchD_00014c98_caseD_7;" goto statement_identifier ;)) })) (labeled_statement "tool_debug_cb::lexical_block_13::traced_data = false;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_13::traced_data = false;" statement_identifier : (ERROR ":" :) (expression_statement "traced_data = false;" (assignment_expression "traced_data = false" identifier = false) ;))) (labeled_statement "tool_debug_cb::lexical_block_13::newl = _Var16;" statement_identifier : (ERROR ":" :) (labeled_statement "lexical_block_13::newl = _Var16;" statement_identifier : (ERROR ":" :) (expression_statement "newl = _Var16;" (assignment_expression "newl = _Var16" identifier = identifier) ;))) (goto_statement "goto switchD_00014c98_caseD_7;" goto statement_identifier ;) })) (switch_statement "switch(type) {\n  case CURLINFO_TEXT:\n    curl_mfprintf(__s,"%s== Info: %s",timebuf,data);\n    goto switchD_00014c98_caseD_7;\n  case CURLINFO_HEADER_IN:\n    pcVar6 = "<= Recv header";\n    break;\n  case CURLINFO_HEADER_OUT:\n    pcVar6 = "=> Send header";\n    break;\n  case CURLINFO_DATA_IN:\n    pcVar6 = "<= Recv data";\n    break;\n  case CURLINFO_DATA_OUT:\n    pcVar6 = "=> Send data";\n    break;\n  case CURLINFO_SSL_DATA_IN:\n    pcVar6 = "<= Recv SSL data";\n    break;\n  case CURLINFO_SSL_DATA_OUT:\n    pcVar6 = "=> Send SSL data";\n    break;\n  default:\n    goto switchD_00014c98_caseD_7;\n  }" switch (parenthesized_expression "(type)" ( identifier )) (compound_statement "{\n  case CURLINFO_TEXT:\n    curl_mfprintf(__s,"%s== Info: %s",timebuf,data);\n    goto switchD_00014c98_caseD_7;\n  case CURLINFO_HEADER_IN:\n    pcVar6 = "<= Recv header";\n    break;\n  case CURLINFO_HEADER_OUT:\n    pcVar6 = "=> Send header";\n    break;\n  case CURLINFO_DATA_IN:\n    pcVar6 = "<= Recv data";\n    break;\n  case CURLINFO_DATA_OUT:\n    pcVar6 = "=> Send data";\n    break;\n  case CURLINFO_SSL_DATA_IN:\n    pcVar6 = "<= Recv SSL data";\n    break;\n  case CURLINFO_SSL_DATA_OUT:\n    pcVar6 = "=> Send SSL data";\n    break;\n  default:\n    goto switchD_00014c98_caseD_7;\n  }" { (case_statement "case CURLINFO_TEXT:\n    curl_mfprintf(__s,"%s== Info: %s",timebuf,data);\n    goto switchD_00014c98_caseD_7;" case identifier : (expression_statement "curl_mfprintf(__s,"%s== Info: %s",timebuf,data);" (call_expression "curl_mfprintf(__s,"%s== Info: %s",timebuf,data)" identifier (argument_list "(__s,"%s== Info: %s",timebuf,data)" ( identifier , (string_literal ""%s== Info: %s"" " string_content ") , identifier , identifier ))) ;) (goto_statement "goto switchD_00014c98_caseD_7;" goto statement_identifier ;)) (case_statement "case CURLINFO_HEADER_IN:\n    pcVar6 = "<= Recv header";\n    break;" case identifier : (expression_statement "pcVar6 = "<= Recv header";" (assignment_expression "pcVar6 = "<= Recv header"" identifier = (string_literal ""<= Recv header"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case CURLINFO_HEADER_OUT:\n    pcVar6 = "=> Send header";\n    break;" case identifier : (expression_statement "pcVar6 = "=> Send header";" (assignment_expression "pcVar6 = "=> Send header"" identifier = (string_literal ""=> Send header"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case CURLINFO_DATA_IN:\n    pcVar6 = "<= Recv data";\n    break;" case identifier : (expression_statement "pcVar6 = "<= Recv data";" (assignment_expression "pcVar6 = "<= Recv data"" identifier = (string_literal ""<= Recv data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case CURLINFO_DATA_OUT:\n    pcVar6 = "=> Send data";\n    break;" case identifier : (expression_statement "pcVar6 = "=> Send data";" (assignment_expression "pcVar6 = "=> Send data"" identifier = (string_literal ""=> Send data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case CURLINFO_SSL_DATA_IN:\n    pcVar6 = "<= Recv SSL data";\n    break;" case identifier : (expression_statement "pcVar6 = "<= Recv SSL data";" (assignment_expression "pcVar6 = "<= Recv SSL data"" identifier = (string_literal ""<= Recv SSL data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case CURLINFO_SSL_DATA_OUT:\n    pcVar6 = "=> Send SSL data";\n    break;" case identifier : (expression_statement "pcVar6 = "=> Send SSL data";" (assignment_expression "pcVar6 = "=> Send SSL data"" identifier = (string_literal ""=> Send SSL data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto switchD_00014c98_caseD_7;" default : (goto_statement "goto switchD_00014c98_caseD_7;" goto statement_identifier ;)) })) (expression_statement "iVar8 = 0x40;" (assignment_expression "iVar8 = 0x40" identifier = number_literal) ;) (if_statement "if (tVar3 != TRACE_ASCII) {\n    iVar8 = 0x10;\n  }" if (parenthesized_expression "(tVar3 != TRACE_ASCII)" ( (binary_expression "tVar3 != TRACE_ASCII" identifier != identifier) )) (compound_statement "{\n    iVar8 = 0x10;\n  }" { (expression_statement "iVar8 = 0x10;" (assignment_expression "iVar8 = 0x10" identifier = number_literal) ;) })) (expression_statement "local_5c = 0;" (assignment_expression "local_5c = 0" identifier = number_literal) ;) (expression_statement "curl_mfprintf(__s,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,size,size);" (call_expression "curl_mfprintf(__s,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,size,size)" identifier (argument_list "(__s,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,size,size)" ( identifier , (string_literal ""%s%s, %zu bytes (0x%zx)\n"" " string_content escape_sequence ") , identifier , identifier , identifier , identifier ))) ;) (if_statement "if (size != 0) {\n    do {\n      curl_mfprintf(__s,"%04zx: ",local_5c);\n      uVar7 = iVar8 + local_5c;\n      uVar9 = local_5c;\n      if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }\n      do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);\n      local_5c = uVar7;\n      fputc(10,__s);\n    } while (local_5c < size);\n  }" if (parenthesized_expression "(size != 0)" ( (binary_expression "size != 0" identifier != number_literal) )) (compound_statement "{\n    do {\n      curl_mfprintf(__s,"%04zx: ",local_5c);\n      uVar7 = iVar8 + local_5c;\n      uVar9 = local_5c;\n      if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }\n      do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);\n      local_5c = uVar7;\n      fputc(10,__s);\n    } while (local_5c < size);\n  }" { (do_statement "do {\n      curl_mfprintf(__s,"%04zx: ",local_5c);\n      uVar7 = iVar8 + local_5c;\n      uVar9 = local_5c;\n      if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }\n      do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);\n      local_5c = uVar7;\n      fputc(10,__s);\n    } while (local_5c < size);" do (compound_statement "{\n      curl_mfprintf(__s,"%04zx: ",local_5c);\n      uVar7 = iVar8 + local_5c;\n      uVar9 = local_5c;\n      if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }\n      do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);\n      local_5c = uVar7;\n      fputc(10,__s);\n    }" { (expression_statement "curl_mfprintf(__s,"%04zx: ",local_5c);" (call_expression "curl_mfprintf(__s,"%04zx: ",local_5c)" identifier (argument_list "(__s,"%04zx: ",local_5c)" ( identifier , (string_literal ""%04zx: "" " string_content ") , identifier ))) ;) (expression_statement "uVar7 = iVar8 + local_5c;" (assignment_expression "uVar7 = iVar8 + local_5c" identifier = (binary_expression "iVar8 + local_5c" identifier + identifier)) ;) (expression_statement "uVar9 = local_5c;" (assignment_expression "uVar9 = local_5c" identifier = identifier) ;) (if_statement "if (tVar3 == TRACE_BIN) {\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }" if (parenthesized_expression "(tVar3 == TRACE_BIN)" ( (binary_expression "tVar3 == TRACE_BIN" identifier == identifier) )) (compound_statement "{\n        do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);\n      }" { (do_statement "do {\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        } while (uVar7 != uVar9);" do (compound_statement "{\n          if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }\n          uVar9 = uVar9 + 1;\n        }" { (if_statement "if (uVar9 < size) {\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }\n          else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }" if (parenthesized_expression "(uVar9 < size)" ( (binary_expression "uVar9 < size" identifier < identifier) )) (compound_statement "{\n            curl_mfprintf(__s,"%02x ",data[uVar9]);\n          }" { (expression_statement "curl_mfprintf(__s,"%02x ",data[uVar9]);" (call_expression "curl_mfprintf(__s,"%02x ",data[uVar9])" identifier (argument_list "(__s,"%02x ",data[uVar9])" ( identifier , (string_literal ""%02x "" " string_content ") , (subscript_expression "data[uVar9]" identifier [ identifier ]) ))) ;) }) (else_clause "else {\n            fwrite(&DAT_000290e2,1,3,__s);\n          }" else (compound_statement "{\n            fwrite(&DAT_000290e2,1,3,__s);\n          }" { (expression_statement "fwrite(&DAT_000290e2,1,3,__s);" (call_expression "fwrite(&DAT_000290e2,1,3,__s)" identifier (argument_list "(&DAT_000290e2,1,3,__s)" ( (pointer_expression "&DAT_000290e2" & identifier) , number_literal , number_literal , identifier ))) ;) }))) (expression_statement "uVar9 = uVar9 + 1;" (assignment_expression "uVar9 = uVar9 + 1" identifier = (binary_expression "uVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != uVar9)" ( (binary_expression "uVar7 != uVar9" identifier != identifier) )) ;) })) (do_statement "do {\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      } while (uVar7 != local_5c);" do (compound_statement "{\n        if (size <= local_5c) break;\n        cVar4 = data[local_5c];\n        if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }\n        local_5c = local_5c + 1;\n      }" { (if_statement "if (size <= local_5c) break;" if (parenthesized_expression "(size <= local_5c)" ( (binary_expression "size <= local_5c" identifier <= identifier) )) (break_statement "break;" break ;)) (expression_statement "cVar4 = data[local_5c];" (assignment_expression "cVar4 = data[local_5c]" identifier = (subscript_expression "data[local_5c]" identifier [ identifier ])) ;) (if_statement "if (tVar3 == TRACE_ASCII) {\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }\n        else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }" if (parenthesized_expression "(tVar3 == TRACE_ASCII)" ( (binary_expression "tVar3 == TRACE_ASCII" identifier == identifier) )) (compound_statement "{\n          if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n          if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }\n        }" { (if_statement "if ((local_5c + 1 < size) && (cVar4 == '\r')) {\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }\n          else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;" if (parenthesized_expression "((local_5c + 1 < size) && (cVar4 == '\r'))" ( (binary_expression "(local_5c + 1 < size) && (cVar4 == '\r')" (parenthesized_expression "(local_5c + 1 < size)" ( (binary_expression "local_5c + 1 < size" (binary_expression "local_5c + 1" identifier + number_literal) < identifier) )) && (parenthesized_expression "(cVar4 == '\r')" ( (binary_expression "cVar4 == '\r'" identifier == (char_literal "'\r'" ' escape_sequence ')) ))) )) (compound_statement "{\n            if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }\nLAB_00014feb:\n            cVar4 = '.';\n          }" { (if_statement "if (data[local_5c + 1] == '\n') {\n              uVar7 = local_5c + 2;\n              break;\n            }" if (parenthesized_expression "(data[local_5c + 1] == '\n')" ( (binary_expression "data[local_5c + 1] == '\n'" (subscript_expression "data[local_5c + 1]" identifier [ (binary_expression "local_5c + 1" identifier + number_literal) ]) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              uVar7 = local_5c + 2;\n              break;\n            }" { (expression_statement "uVar7 = local_5c + 2;" (assignment_expression "uVar7 = local_5c + 2" identifier = (binary_expression "local_5c + 2" identifier + number_literal)) ;) (break_statement "break;" break ;) })) (labeled_statement "LAB_00014feb:\n            cVar4 = '.';" statement_identifier : (expression_statement "cVar4 = '.';" (assignment_expression "cVar4 = '.'" identifier = (char_literal "'.'" ' character ')) ;)) }) (else_clause "else if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;" else (if_statement "if (0x5f < (byte)(cVar4 - 0x20U)) goto LAB_00014feb;" if (parenthesized_expression "(0x5f < (byte)(cVar4 - 0x20U))" ( (binary_expression "0x5f < (byte)(cVar4 - 0x20U)" number_literal < (call_expression "(byte)(cVar4 - 0x20U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar4 - 0x20U)" ( (binary_expression "cVar4 - 0x20U" identifier - number_literal) )))) )) (goto_statement "goto LAB_00014feb;" goto statement_identifier ;)))) (expression_statement "curl_mfprintf(__s,&DAT_0003f491,cVar4);" (call_expression "curl_mfprintf(__s,&DAT_0003f491,cVar4)" identifier (argument_list "(__s,&DAT_0003f491,cVar4)" ( identifier , (pointer_expression "&DAT_0003f491" & identifier) , identifier ))) ;) (if_statement "if (((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')) {\n            uVar7 = local_5c + 3;\n            break;\n          }" if (parenthesized_expression "(((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n'))" ( (binary_expression "((local_5c + 2 < size) && (data[local_5c + 1] == '\r')) &&\n             (data[local_5c + 2] == '\n')" (parenthesized_expression "((local_5c + 2 < size) && (data[local_5c + 1] == '\r'))" ( (binary_expression "(local_5c + 2 < size) && (data[local_5c + 1] == '\r')" (parenthesized_expression "(local_5c + 2 < size)" ( (binary_expression "local_5c + 2 < size" (binary_expression "local_5c + 2" identifier + number_literal) < identifier) )) && (parenthesized_expression "(data[local_5c + 1] == '\r')" ( (binary_expression "data[local_5c + 1] == '\r'" (subscript_expression "data[local_5c + 1]" identifier [ (binary_expression "local_5c + 1" identifier + number_literal) ]) == (char_literal "'\r'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(data[local_5c + 2] == '\n')" ( (binary_expression "data[local_5c + 2] == '\n'" (subscript_expression "data[local_5c + 2]" identifier [ (binary_expression "local_5c + 2" identifier + number_literal) ]) == (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n            uVar7 = local_5c + 3;\n            break;\n          }" { (expression_statement "uVar7 = local_5c + 3;" (assignment_expression "uVar7 = local_5c + 3" identifier = (binary_expression "local_5c + 3" identifier + number_literal)) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }" else (compound_statement "{\n          if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }\n          curl_mfprintf(__s,&DAT_0003f491,cVar4);\n        }" { (if_statement "if (0x5f < (byte)(cVar4 - 0x20U)) {\n            cVar4 = '.';\n          }" if (parenthesized_expression "(0x5f < (byte)(cVar4 - 0x20U))" ( (binary_expression "0x5f < (byte)(cVar4 - 0x20U)" number_literal < (call_expression "(byte)(cVar4 - 0x20U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar4 - 0x20U)" ( (binary_expression "cVar4 - 0x20U" identifier - number_literal) )))) )) (compound_statement "{\n            cVar4 = '.';\n          }" { (expression_statement "cVar4 = '.';" (assignment_expression "cVar4 = '.'" identifier = (char_literal "'.'" ' character ')) ;) })) (expression_statement "curl_mfprintf(__s,&DAT_0003f491,cVar4);" (call_expression "curl_mfprintf(__s,&DAT_0003f491,cVar4)" identifier (argument_list "(__s,&DAT_0003f491,cVar4)" ( identifier , (pointer_expression "&DAT_0003f491" & identifier) , identifier ))) ;) }))) (expression_statement "local_5c = local_5c + 1;" (assignment_expression "local_5c = local_5c + 1" identifier = (binary_expression "local_5c + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar7 != local_5c)" ( (binary_expression "uVar7 != local_5c" identifier != identifier) )) ;) (expression_statement "local_5c = uVar7;" (assignment_expression "local_5c = uVar7" identifier = identifier) ;) (expression_statement "fputc(10,__s);" (call_expression "fputc(10,__s)" identifier (argument_list "(10,__s)" ( number_literal , identifier ))) ;) }) while (parenthesized_expression "(local_5c < size)" ( (binary_expression "local_5c < size" identifier < identifier) )) ;) })) (expression_statement "fflush(__s);" (call_expression "fflush(__s)" identifier (argument_list "(__s)" ( identifier ))) ;) (labeled_statement "switchD_00014c98_caseD_7:\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }" statement_identifier : (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\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    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) }))) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "undefined4\nFUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )\n\n{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    \n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}\n\n" (function_definition "undefined4\nFUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )\n\n{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    \n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}" type_identifier (function_declarator "FUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "int param_5" primitive_type identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    \n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "tm *ptVar3;" type_identifier (pointer_declarator "*ptVar3" * identifier) ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "FILE *pFVar5;" type_identifier (pointer_declarator "*pFVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "undefined1 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "byte *pbVar12;" type_identifier (pointer_declarator "*pbVar12" * identifier) ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "undefined1 auStack_70 [4];" type_identifier (array_declarator "auStack_70 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_6c [12];" type_identifier (array_declarator "auStack_6c [12]" identifier [ number_literal ]) ;) (declaration "undefined4 local_60;" type_identifier identifier ;) (declaration "undefined4 local_5c;" type_identifier identifier ;) (declaration "int local_48;" primitive_type identifier ;) (declaration "undefined4 local_44 [2];" type_identifier (array_declarator "local_44 [2]" identifier [ number_literal ]) ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "undefined1 local_38 [4];" type_identifier (array_declarator "local_38 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 local_34;" type_identifier identifier ;) (declaration "undefined4 local_20;" type_identifier identifier ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "bVar20 = 0;" (assignment_expression "bVar20 = 0" identifier = number_literal) ;) (expression_statement "uStack_14 = 0x14c29;" (assignment_expression "uStack_14 = 0x14c29" identifier = number_literal) ;) (expression_statement "puVar9 = auStack_6c;" (assignment_expression "puVar9 = auStack_6c" identifier = identifier) ;) (expression_statement "puVar10 = auStack_6c;" (assignment_expression "puVar10 = auStack_6c" identifier = identifier) ;) (expression_statement "local_60 = param_3;" (assignment_expression "local_60 = param_3" identifier = identifier) ;) (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 "iVar15 = *(int *)(param_5 + 0x290);" (assignment_expression "iVar15 = *(int *)(param_5 + 0x290)" identifier = (pointer_expression "*(int *)(param_5 + 0x290)" * (cast_expression "(int *)(param_5 + 0x290)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_5 + 0x290)" ( (binary_expression "param_5 + 0x290" identifier + number_literal) ))))) ;) (expression_statement "local_5c = *(undefined4 *)(iVar15 + 0xc);" (assignment_expression "local_5c = *(undefined4 *)(iVar15 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(iVar15 + 0xc)" * (cast_expression "(undefined4 *)(iVar15 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" if (parenthesized_expression "(*(char *)(iVar15 + 0x24) == '\0')" ( (binary_expression "*(char *)(iVar15 + 0x24) == '\0'" (pointer_expression "*(char *)(iVar15 + 0x24)" * (cast_expression "(char *)(iVar15 + 0x24)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }" { (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0x18);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0x18)" identifier = (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" identifier = number_literal) ;) }) (else_clause "else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" else (compound_statement "{\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" { (expression_statement "FUN_00027ba0(local_44);" (call_expression "FUN_00027ba0(local_44)" identifier (argument_list "(local_44)" ( identifier ))) ;) (if_statement "if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }" if (parenthesized_expression "(DAT_0004a030 == 0)" ( (binary_expression "DAT_0004a030 == 0" identifier == number_literal) )) (compound_statement "{\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }" { (expression_statement "local_3c = time((time_t *)0x0);" (assignment_expression "local_3c = 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 "DAT_0004a030 = 1;" (assignment_expression "DAT_0004a030 = 1" identifier = number_literal) ;) (expression_statement "DAT_0004a02c = local_3c - local_48;" (assignment_expression "DAT_0004a02c = local_3c - local_48" identifier = (binary_expression "local_3c - local_48" identifier - identifier)) ;) }) (else_clause "else {\n      local_3c = DAT_0004a02c + local_48;\n    }" else (compound_statement "{\n      local_3c = DAT_0004a02c + local_48;\n    }" { (expression_statement "local_3c = DAT_0004a02c + local_48;" (assignment_expression "local_3c = DAT_0004a02c + local_48" identifier = (binary_expression "DAT_0004a02c + local_48" identifier + identifier)) ;) }))) (expression_statement "puVar10 = auStack_70;" (assignment_expression "puVar10 = auStack_70" identifier = identifier) ;) (expression_statement "puVar9 = auStack_70;" (assignment_expression "puVar9 = auStack_70" identifier = identifier) ;) (expression_statement "ptVar3 = localtime(&local_3c);" (assignment_expression "ptVar3 = localtime(&local_3c)" identifier = (call_expression "localtime(&local_3c)" identifier (argument_list "(&local_3c)" ( (pointer_expression "&local_3c" & identifier) )))) ;) (expression_statement "curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);" (call_expression "curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0])" identifier (argument_list "(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0])" ( identifier , number_literal , (string_literal ""%02d:%02d:%02d.%06ld "" " string_content ") , (field_expression "ptVar3->tm_hour" identifier -> field_identifier) , (field_expression "ptVar3->tm_min" identifier -> field_identifier) , (field_expression "ptVar3->tm_sec" identifier -> field_identifier) , (subscript_expression "local_44[0]" identifier [ number_literal ]) ))) ;) (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0x18);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0x18)" identifier = (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) ))))) ;) }))) (expression_statement "bVar19 = pFVar5 == (FILE *)0x0;" (assignment_expression "bVar19 = pFVar5 == (FILE *)0x0" identifier = (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (if_statement "if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }" if (parenthesized_expression "(bVar19)" ( identifier )) (compound_statement "{\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }" { (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" identifier = false) ;) (expression_statement "pbVar1 = *(byte **)(iVar15 + 0x14);" (assignment_expression "pbVar1 = *(byte **)(iVar15 + 0x14)" identifier = (pointer_expression "*(byte **)(iVar15 + 0x14)" * (cast_expression "(byte **)(iVar15 + 0x14)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x14)" ( (binary_expression "iVar15 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "pbVar12 = &DAT_0003d16d;" (assignment_expression "pbVar12 = &DAT_0003d16d" identifier = (pointer_expression "&DAT_0003d16d" & identifier)) ;) (expression_statement "pbVar16 = pbVar1;" (assignment_expression "pbVar16 = pbVar1" identifier = identifier) ;) (do_statement "do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);" do (compound_statement "{\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar17 = *pbVar12 < *pbVar16;" (assignment_expression "bVar17 = *pbVar12 < *pbVar16" identifier = (binary_expression "*pbVar12 < *pbVar16" (pointer_expression "*pbVar12" * identifier) < (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "bVar19 = *pbVar12 == *pbVar16;" (assignment_expression "bVar19 = *pbVar12 == *pbVar16" identifier = (binary_expression "*pbVar12 == *pbVar16" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (expression_statement "bVar18 = false;" (assignment_expression "bVar18 = false" identifier = false) ;) (expression_statement "bVar19 = (!bVar17 && !bVar19) == bVar17;" (assignment_expression "bVar19 = (!bVar17 && !bVar19) == bVar17" identifier = (binary_expression "(!bVar17 && !bVar19) == bVar17" (parenthesized_expression "(!bVar17 && !bVar19)" ( (binary_expression "!bVar17 && !bVar19" (unary_expression "!bVar17" ! identifier) && (unary_expression "!bVar19" ! identifier)) )) == identifier)) ;) (if_statement "if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" if (parenthesized_expression "(bVar19)" ( identifier )) (compound_statement "{\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }" { (expression_statement "pFVar5 = *(FILE **)PTR_stdout_00049fb0;" (assignment_expression "pFVar5 = *(FILE **)PTR_stdout_00049fb0" identifier = (pointer_expression "*(FILE **)PTR_stdout_00049fb0" * (cast_expression "(FILE **)PTR_stdout_00049fb0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" else (compound_statement "{\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" { (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" identifier = number_literal) ;) (expression_statement "pbVar12 = &DAT_00029189;" (assignment_expression "pbVar12 = &DAT_00029189" identifier = (pointer_expression "&DAT_00029189" & identifier)) ;) (expression_statement "pbVar16 = pbVar1;" (assignment_expression "pbVar16 = pbVar1" identifier = identifier) ;) (do_statement "do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);" do (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      }" { (if_statement "if (iVar6 == 0) break;" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" identifier = (binary_expression "iVar6 + -1" identifier + number_literal)) ;) (expression_statement "bVar18 = *pbVar12 < *pbVar16;" (assignment_expression "bVar18 = *pbVar12 < *pbVar16" identifier = (binary_expression "*pbVar12 < *pbVar16" (pointer_expression "*pbVar12" * identifier) < (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "bVar19 = *pbVar12 == *pbVar16;" (assignment_expression "bVar19 = *pbVar12 == *pbVar16" identifier = (binary_expression "*pbVar12 == *pbVar16" (pointer_expression "*pbVar12" * identifier) == (pointer_expression "*pbVar16" * identifier))) ;) (expression_statement "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar12 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) (expression_statement "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "pbVar16 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) }) while (parenthesized_expression "(bVar19)" ( identifier )) ;) (if_statement "if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" if (parenthesized_expression "((!bVar18 && !bVar19) == bVar18)" ( (binary_expression "(!bVar18 && !bVar19) == bVar18" (parenthesized_expression "(!bVar18 && !bVar19)" ( (binary_expression "!bVar18 && !bVar19" (unary_expression "!bVar18" ! identifier) && (unary_expression "!bVar19" ! identifier)) )) == identifier) )) (compound_statement "{\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" { (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0xc);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0xc)" identifier = (pointer_expression "*(FILE **)(iVar15 + 0xc)" * (cast_expression "(FILE **)(iVar15 + 0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0xc)" ( (binary_expression "iVar15 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) }) (else_clause "else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" else (compound_statement "{\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" { (expression_statement "*(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &DAT_0002a35d" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&DAT_0002a35d" & identifier)) ;) (expression_statement "*(byte **)(puVar10 + -0x10) = pbVar1;" (assignment_expression "*(byte **)(puVar10 + -0x10) = pbVar1" (pointer_expression "*(byte **)(puVar10 + -0x10)" * (cast_expression "(byte **)(puVar10 + -0x10)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x151c0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x151c0" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));" (assignment_expression "pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" identifier = (call_expression "fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" identifier (argument_list "(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" ( (pointer_expression "*(char **)(puVar10 + -0x10)" * (cast_expression "(char **)(puVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) )))) ;) (expression_statement "*(undefined1 *)(iVar15 + 0x1c) = 1;" (assignment_expression "*(undefined1 *)(iVar15 + 0x1c) = 1" (pointer_expression "*(undefined1 *)(iVar15 + 0x1c)" * (cast_expression "(undefined1 *)(iVar15 + 0x1c)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x1c)" ( (binary_expression "iVar15 + 0x1c" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" * (cast_expression "(FILE **)(iVar15 + 0x18)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar15 + 0x18)" ( (binary_expression "iVar15 + 0x18" identifier + number_literal) )))) = identifier) ;) }))) }))) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" identifier = identifier) ;) (if_statement "if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }" if (parenthesized_expression "((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0))" ( (binary_expression "(pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)" (parenthesized_expression "(pFVar5 == (FILE *)0x0)" ( (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)" ( (comma_expression "pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0" (assignment_expression "pFVar5 = *(FILE **)(puVar10 + 0x10)" identifier = (pointer_expression "*(FILE **)(puVar10 + 0x10)" * (cast_expression "(FILE **)(puVar10 + 0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) , (binary_expression "pFVar5 == (FILE *)0x0" identifier == (cast_expression "(FILE *)0x0" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }" { (expression_statement "*(char **)(puVar10 + -0xc) = "Failed to create/open output";" (assignment_expression "*(char **)(puVar10 + -0xc) = "Failed to create/open output"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""Failed to create/open output"" " string_content ")) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x14def;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x14def" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" * (cast_expression "(undefined4 *)(puVar10 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001ed70();" (call_expression "FUN_0001ed70()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;) })) })) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" identifier = identifier) ;) (expression_statement "iVar6 = *(int *)(iVar15 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar15 + 0x20)" identifier = (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar10 + 0x14) = iVar6;" (assignment_expression "*(int *)(puVar10 + 0x14) = iVar6" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }" if (parenthesized_expression "(iVar6 == 3)" ( (binary_expression "iVar6 == 3" identifier == number_literal) )) (compound_statement "{\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }" { (if_statement "if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" if (parenthesized_expression "(*(uint *)(puVar10 + 0x74) < 7)" ( (binary_expression "*(uint *)(puVar10 + 0x74) < 7" (pointer_expression "*(uint *)(puVar10 + 0x74)" * (cast_expression "(uint *)(puVar10 + 0x74)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }" { (switch_statement "switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }" switch (parenthesized_expression "(*(int *)(puVar10 + 0x74))" ( (pointer_expression "*(int *)(puVar10 + 0x74)" * (cast_expression "(int *)(puVar10 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) )) (compound_statement "{\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }" { (case_statement "case 0:" case number_literal :) (case_statement "case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;" case number_literal : (if_statement "if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }" if (parenthesized_expression "(DAT_0004a029 == '\0')" ( (binary_expression "DAT_0004a029 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }" { (expression_statement "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];" (assignment_expression "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (pointer_expression "*(undefined **)(puVar10 + -4)" * (cast_expression "(undefined **)(puVar10 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (subscript_expression "(&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (parenthesized_expression "(&PTR_DAT_00048320)" ( (pointer_expression "&PTR_DAT_00048320" & identifier) )) [ (pointer_expression "*(int *)(puVar10 + 0x74)" * (cast_expression "(int *)(puVar10 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) ])) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015279;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015279" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015279" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc)" identifier = (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015181;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015181" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015181" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" if (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" { (expression_statement "bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';" (assignment_expression "bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" identifier = (binary_expression "*(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (pointer_expression "*(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" * (cast_expression "(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" ( (binary_expression "iVar15 + -1 + *(int *)(puVar10 + 0x7c)" (binary_expression "iVar15 + -1" identifier + number_literal) + (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )))) != (char_literal "'\n'" ' escape_sequence '))) ;) })) (break_statement "break;" break ;)) (case_statement "case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;" case number_literal : (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" identifier = false) ;) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" if (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" { (expression_statement "iVar15 = *(int *)(puVar10 + 0x7c);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0x7c)" identifier = (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "cVar2 = DAT_0004a029;" (assignment_expression "cVar2 = DAT_0004a029" identifier = identifier) ;) (if_statement "if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" if (parenthesized_expression "(iVar15 == 1)" ( (binary_expression "iVar15 == 1" identifier == number_literal) )) (compound_statement "{\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }" { (expression_statement "iVar15 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc)" identifier = (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" else (compound_statement "{\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" { (expression_statement "*(FILE **)(puVar10 + 0x14) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + 0x14) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + 0x14)" * (cast_expression "(FILE **)(puVar10 + 0x14)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" identifier = number_literal) ;) (expression_statement "*(char **)(puVar10 + 0x18) = ">";" (assignment_expression "*(char **)(puVar10 + 0x18) = ">"" (pointer_expression "*(char **)(puVar10 + 0x18)" * (cast_expression "(char **)(puVar10 + 0x18)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = (string_literal "">"" " string_content ")) ;) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" identifier = number_literal) ;) (expression_statement "*(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + 0x1c)" * (cast_expression "(undefined1 **)(puVar10 + 0x1c)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "iVar7 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0xc)" identifier = (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (do_statement "do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);" do (compound_statement "{\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            }" { (expression_statement "pcVar4 = (char *)(iVar7 + iVar14);" (assignment_expression "pcVar4 = (char *)(iVar7 + iVar14)" identifier = (cast_expression "(char *)(iVar7 + iVar14)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar14)" ( (binary_expression "iVar7 + iVar14" identifier + identifier) )))) ;) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" identifier = (binary_expression "iVar14 + 1" identifier + number_literal)) ;) (if_statement "if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }" if (parenthesized_expression "(*pcVar4 == '\n')" ( (binary_expression "*pcVar4 == '\n'" (pointer_expression "*pcVar4" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }" { (if_statement "if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }" { (expression_statement "*(int *)(puVar10 + 0x10) = iVar7;" (assignment_expression "*(int *)(puVar10 + 0x10) = iVar7" (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x18)" * (cast_expression "(undefined4 *)(puVar10 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x1c)" * (cast_expression "(undefined4 *)(puVar10 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x14)" * (cast_expression "(undefined4 *)(puVar10 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001520c;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001520c" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001520c" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar7 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0x10)" identifier = (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) })) (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x14)" * (cast_expression "(undefined4 *)(puVar10 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar10 + -0xc) = iVar14 - iVar6;" (assignment_expression "*(int *)(puVar10 + -0xc) = iVar14 - iVar6" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (binary_expression "iVar14 - iVar6" identifier - identifier)) ;) (expression_statement "*(int *)(puVar10 + 0x10) = iVar7;" (assignment_expression "*(int *)(puVar10 + 0x10) = iVar7" (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar6 + iVar7;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar6 + iVar7" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (binary_expression "iVar6 + iVar7" identifier + identifier)) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015145;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015145" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015145" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar7 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0x10)" identifier = (pointer_expression "*(int *)(puVar10 + 0x10)" * (cast_expression "(int *)(puVar10 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" identifier = identifier) ;) })) }) while (parenthesized_expression "(iVar15 + -1 != iVar14)" ( (binary_expression "iVar15 + -1 != iVar14" (binary_expression "iVar15 + -1" identifier + number_literal) != identifier) )) ;) (expression_statement "pFVar5 = *(FILE **)(puVar10 + 0x14);" (assignment_expression "pFVar5 = *(FILE **)(puVar10 + 0x14)" identifier = (pointer_expression "*(FILE **)(puVar10 + 0x14)" * (cast_expression "(FILE **)(puVar10 + 0x14)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "iVar15 = *(int *)(puVar10 + 0xc) + iVar6;" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc) + iVar6" identifier = (binary_expression "*(int *)(puVar10 + 0xc) + iVar6" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;" (assignment_expression "iVar6 = *(int *)(puVar10 + 0x7c) - iVar6" identifier = (binary_expression "*(int *)(puVar10 + 0x7c) - iVar6" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) - identifier)) ;) }))) (if_statement "if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }" if (parenthesized_expression "(cVar2 == '\0')" ( (binary_expression "cVar2 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }" { (expression_statement "*(char **)(puVar10 + -4) = ">";" (assignment_expression "*(char **)(puVar10 + -4) = ">"" (pointer_expression "*(char **)(puVar10 + -4)" * (cast_expression "(char **)(puVar10 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (string_literal "">"" " string_content ")) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001529a;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001529a" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001529a" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(puVar10 + -0xc) = iVar6;" (assignment_expression "*(int *)(puVar10 + -0xc) = iVar6" (pointer_expression "*(int *)(puVar10 + -0xc)" * (cast_expression "(int *)(puVar10 + -0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015241;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015241" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015241" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) (expression_statement "bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';" (assignment_expression "bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" identifier = (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" ( (binary_expression "*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)" (binary_expression "*(int *)(puVar10 + 0xc) + -1" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )))) != (char_literal "'\n'" ' escape_sequence '))) ;) })) (break_statement "break;" break ;)) (case_statement "default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;" default : (if_statement "if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }" if (parenthesized_expression "((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            )))" ( (binary_expression "(DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))" (parenthesized_expression "(DAT_0004a028 == '\0')" ( (binary_expression "DAT_0004a028 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))" ( (parenthesized_expression "(*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            )" ( (binary_expression "*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))" (binary_expression "*(char *)(iVar15 + 10) == '\0'" (pointer_expression "*(char *)(iVar15 + 10)" * (cast_expression "(char *)(iVar15 + 10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 10)" ( (binary_expression "iVar15 + 10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) || (parenthesized_expression "((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))" ( (parenthesized_expression "(*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5))" ( (binary_expression "*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)" (binary_expression "*(FILE **)PTR_stderr_00049ff0 != pFVar5" (pointer_expression "*(FILE **)PTR_stderr_00049ff0" * (cast_expression "(FILE **)PTR_stderr_00049ff0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) && (parenthesized_expression "(*(FILE **)PTR_stdout_00049fb0 != pFVar5)" ( (binary_expression "*(FILE **)PTR_stdout_00049fb0 != pFVar5" (pointer_expression "*(FILE **)PTR_stdout_00049fb0" * (cast_expression "(FILE **)PTR_stdout_00049fb0" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != identifier) ))) )) ))) )) ))) )) (compound_statement "{\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }" { (if_statement "if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }" if (parenthesized_expression "(DAT_0004a029 == '\0')" ( (binary_expression "DAT_0004a029 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }" { (expression_statement "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];" (assignment_expression "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (pointer_expression "*(undefined **)(puVar10 + -4)" * (cast_expression "(undefined **)(puVar10 + -4)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (subscript_expression "(&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (parenthesized_expression "(&PTR_DAT_00048320)" ( (pointer_expression "&PTR_DAT_00048320" & identifier) )) [ (pointer_expression "*(int *)(puVar10 + 0x74)" * (cast_expression "(int *)(puVar10 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) ])) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" * (cast_expression "(undefined **)(puVar10 + -0xc)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "&UNK_00029095" & identifier)) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_000152bc;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_000152bc" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_000152bc" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";" (assignment_expression "*(char **)(puVar10 + -0xc) = "[%zu bytes data]\n"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""[%zu bytes data]\n"" " string_content escape_sequence ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014ce7" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014ce7" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_0004a028 = '\x01';" (assignment_expression "DAT_0004a028 = '\x01'" identifier = (char_literal "'\x01'" ' escape_sequence ')) ;) })) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;)) })) (expression_statement "DAT_0004a028 = '\0';" (assignment_expression "DAT_0004a028 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_0004a029 = bVar19;" (assignment_expression "DAT_0004a029 = bVar19" identifier = identifier) ;) }) (else_clause "else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" else (compound_statement "{\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" { (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "DAT_0004a028 = '\0';" (assignment_expression "DAT_0004a028 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) }))) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;) })) (switch_statement "switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }" switch (parenthesized_expression "(*(undefined4 *)(puVar10 + 0x74))" ( (pointer_expression "*(undefined4 *)(puVar10 + 0x74)" * (cast_expression "(undefined4 *)(puVar10 + 0x74)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x74)" ( (binary_expression "puVar10 + 0x74" identifier + number_literal) )))) )) (compound_statement "{\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }" { (case_statement "case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;" case number_literal : (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0xc)" * (cast_expression "(undefined4 *)(puVar10 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" * (cast_expression "(undefined1 **)(puVar10 + -8)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar10 + -0xc) = "%s== Info: %s";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%s== Info: %s"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""%s== Info: %s"" " string_content ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014fd6" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014fd6" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00014d00;" goto statement_identifier ;)) (case_statement "case 1:\n    pcVar4 = "<= Recv header";\n    break;" case number_literal : (expression_statement "pcVar4 = "<= Recv header";" (assignment_expression "pcVar4 = "<= Recv header"" identifier = (string_literal ""<= Recv header"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 2:\n    pcVar4 = "=> Send header";\n    break;" case number_literal : (expression_statement "pcVar4 = "=> Send header";" (assignment_expression "pcVar4 = "=> Send header"" identifier = (string_literal ""=> Send header"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 3:\n    pcVar4 = "<= Recv data";\n    break;" case number_literal : (expression_statement "pcVar4 = "<= Recv data";" (assignment_expression "pcVar4 = "<= Recv data"" identifier = (string_literal ""<= Recv data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 4:\n    pcVar4 = "=> Send data";\n    break;" case number_literal : (expression_statement "pcVar4 = "=> Send data";" (assignment_expression "pcVar4 = "=> Send data"" identifier = (string_literal ""=> Send data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;" case number_literal : (expression_statement "pcVar4 = "<= Recv SSL data";" (assignment_expression "pcVar4 = "<= Recv SSL data"" identifier = (string_literal ""<= Recv SSL data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "case 6:\n    pcVar4 = "=> Send SSL data";\n    break;" case number_literal : (expression_statement "pcVar4 = "=> Send SSL data";" (assignment_expression "pcVar4 = "=> Send SSL data"" identifier = (string_literal ""=> Send SSL data"" " string_content ")) ;) (break_statement "break;" break ;)) (case_statement "default:\n    goto LAB_00014d00;" default : (goto_statement "goto LAB_00014d00;" goto statement_identifier ;)) })) (expression_statement "uVar8 = 0x40;" (assignment_expression "uVar8 = 0x40" identifier = number_literal) ;) (if_statement "if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x14) != 2)" ( (binary_expression "*(int *)(puVar10 + 0x14) != 2" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    uVar8 = 0x10;\n  }" { (expression_statement "uVar8 = 0x10;" (assignment_expression "uVar8 = 0x10" identifier = number_literal) ;) })) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + 0x1c) = uVar8;" (assignment_expression "*(undefined4 *)(puVar10 + 0x1c) = uVar8" (pointer_expression "*(undefined4 *)(puVar10 + 0x1c)" * (cast_expression "(undefined4 *)(puVar10 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" * (cast_expression "(undefined4 *)(puVar10 + 0x7c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) ;) (expression_statement "*(char **)(puVar10 + -0x14) = pcVar4;" (assignment_expression "*(char **)(puVar10 + -0x14) = pcVar4" (pointer_expression "*(char **)(puVar10 + -0x14)" * (cast_expression "(char **)(puVar10 + -0x14)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -0x18)" * (cast_expression "(undefined1 **)(puVar10 + -0x18)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x18)" ( (binary_expression "puVar10 + -0x18" identifier + number_literal) )))) = (binary_expression "puVar10 + 0x38" identifier + number_literal)) ;) (expression_statement "*(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";" (assignment_expression "*(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n"" (pointer_expression "*(char **)(puVar10 + -0x1c)" * (cast_expression "(char **)(puVar10 + -0x1c)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x1c)" ( (binary_expression "puVar10 + -0x1c" identifier + number_literal) )))) = (string_literal ""%s%s, %zu bytes (0x%zx)\n"" " string_content escape_sequence ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x20) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x20) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x20)" * (cast_expression "(FILE **)(puVar10 + -0x20)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x20)" ( (binary_expression "puVar10 + -0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;" (assignment_expression "*(undefined **)(puVar10 + -0x24) = &UNK_00014e5c" (pointer_expression "*(undefined **)(puVar10 + -0x24)" * (cast_expression "(undefined **)(puVar10 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x24)" ( (binary_expression "puVar10 + -0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_00014e5c" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(undefined **)(puVar10 + 0x20) = &UNK_000290d4;" (assignment_expression "*(undefined **)(puVar10 + 0x20) = &UNK_000290d4" (pointer_expression "*(undefined **)(puVar10 + 0x20)" * (cast_expression "(undefined **)(puVar10 + 0x20)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x20)" ( (binary_expression "puVar10 + 0x20" identifier + number_literal) )))) = (pointer_expression "&UNK_000290d4" & identifier)) ;) (expression_statement "*(undefined **)(puVar10 + 0x24) = &UNK_000290e2;" (assignment_expression "*(undefined **)(puVar10 + 0x24) = &UNK_000290e2" (pointer_expression "*(undefined **)(puVar10 + 0x24)" * (cast_expression "(undefined **)(puVar10 + 0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x24)" ( (binary_expression "puVar10 + 0x24" identifier + number_literal) )))) = (pointer_expression "&UNK_000290e2" & identifier)) ;) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" ( (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" * (cast_expression "(int *)(puVar10 + 0x7c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }" { (do_statement "do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));" do (compound_statement "{\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    }" { (expression_statement "*(uint *)(puVar10 + -8) = uVar13;" (assignment_expression "*(uint *)(puVar10 + -8) = uVar13" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x20)" * (cast_expression "(undefined4 *)(puVar10 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x20)" ( (binary_expression "puVar10 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014e8e" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014e8e" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar10 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar10 + 0x1c)" * (cast_expression "(int *)(puVar10 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x1c)" ( (binary_expression "puVar10 + 0x1c" identifier + number_literal) )))) + identifier)) ;) (if_statement "if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }" if (parenthesized_expression "(*(int *)(puVar10 + 0x14) == 1)" ( (binary_expression "*(int *)(puVar10 + 0x14) == 1" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }" { (expression_statement "*(undefined **)(puVar10 + 0x18) = &UNK_000290dc;" (assignment_expression "*(undefined **)(puVar10 + 0x18) = &UNK_000290dc" (pointer_expression "*(undefined **)(puVar10 + 0x18)" * (cast_expression "(undefined **)(puVar10 + 0x18)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = (pointer_expression "&UNK_000290dc" & identifier)) ;) (expression_statement "uVar11 = uVar13;" (assignment_expression "uVar11 = uVar13" identifier = identifier) ;) (do_statement "do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);" do (compound_statement "{\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        }" { (if_statement "if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" if (parenthesized_expression "(uVar11 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar11 < *(uint *)(puVar10 + 0x7c)" identifier < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) (compound_statement "{\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }" { (expression_statement "*(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (binary_expression "(uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" (parenthesized_expression "(uint)" ( identifier )) * (cast_expression "(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + uVar11)" ( (binary_expression "*(int *)(puVar10 + 0xc) + uVar11" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + identifier) ))))) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x18)" * (cast_expression "(undefined4 *)(puVar10 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015046;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015046" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00015046" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" else (compound_statement "{\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" { (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" * (cast_expression "(undefined4 *)(puVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(puVar10 + 0x24)" * (cast_expression "(undefined4 *)(puVar10 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x24)" ( (binary_expression "puVar10 + 0x24" identifier + number_literal) ))))) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001506a;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001506a" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_0001506a" & identifier)) ;) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4))" identifier (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4))" ( (pointer_expression "*(void **)(puVar10 + -0x10)" * (cast_expression "(void **)(puVar10 + -0x10)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -0xc)" * (cast_expression "(size_t *)(puVar10 + -0xc)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) , (pointer_expression "*(size_t *)(puVar10 + -8)" * (cast_expression "(size_t *)(puVar10 + -8)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -4)" * (cast_expression "(FILE **)(puVar10 + -4)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) ))) ;) }))) (expression_statement "uVar11 = uVar11 + 1;" (assignment_expression "uVar11 = uVar11 + 1" identifier = (binary_expression "uVar11 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(*(uint *)(puVar10 + 0x10) != uVar11)" ( (binary_expression "*(uint *)(puVar10 + 0x10) != uVar11" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) != identifier) )) ;) })) (do_statement "do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);" do (compound_statement "{\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      }" { (if_statement "if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;" if (parenthesized_expression "(*(uint *)(puVar10 + 0x7c) <= uVar13)" ( (binary_expression "*(uint *)(puVar10 + 0x7c) <= uVar13" (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) )))) <= identifier) )) (break_statement "break;" break ;)) (expression_statement "bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);" (assignment_expression "bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" identifier = (pointer_expression "*(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" * (cast_expression "(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + uVar13" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + identifier) ))))) ;) (if_statement "if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" if (parenthesized_expression "(*(int *)(puVar10 + 0x14) == 2)" ( (binary_expression "*(int *)(puVar10 + 0x14) == 2" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }" { (expression_statement "uVar11 = uVar13 + 1;" (assignment_expression "uVar11 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) (if_statement "if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" if (parenthesized_expression "((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd))" ( (binary_expression "(uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)" (parenthesized_expression "(uVar11 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar11 < *(uint *)(puVar10 + 0x7c)" identifier < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) && (parenthesized_expression "(bVar20 == 0xd)" ( (binary_expression "bVar20 == 0xd" identifier == number_literal) ))) )) (compound_statement "{\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" { (if_statement "if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }" if (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n')" ( (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + 1 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 1" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + identifier) )))) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }" { (expression_statement "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;" (assignment_expression "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = (binary_expression "*(int *)(puVar10 + 0x14) + uVar13" (pointer_expression "*(int *)(puVar10 + 0x14)" * (cast_expression "(int *)(puVar10 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x14)" ( (binary_expression "puVar10 + 0x14" identifier + number_literal) )))) + identifier)) ;) (break_statement "break;" break ;) })) (labeled_statement "code_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;" statement_identifier : (expression_statement "*(uint *)(puVar10 + 0x18) = uVar11;" (assignment_expression "*(uint *)(puVar10 + 0x18) = uVar11" (pointer_expression "*(uint *)(puVar10 + 0x18)" * (cast_expression "(uint *)(puVar10 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = identifier) ;)) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x2e;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x2e" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) }) (else_clause "else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" else (compound_statement "{\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" { (if_statement "if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;" if (parenthesized_expression "(0x5f < (byte)(bVar20 - 0x20))" ( (binary_expression "0x5f < (byte)(bVar20 - 0x20)" number_literal < (call_expression "(byte)(bVar20 - 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar20 - 0x20)" ( (binary_expression "bVar20 - 0x20" identifier - number_literal) )))) )) (goto_statement "goto code_r0x00014feb;" goto statement_identifier ;)) (expression_statement "*(uint *)(puVar10 + 0x18) = uVar11;" (assignment_expression "*(uint *)(puVar10 + 0x18) = uVar11" (pointer_expression "*(uint *)(puVar10 + 0x18)" * (cast_expression "(uint *)(puVar10 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(uint *)(puVar10 + -8) = (uint)bVar20;" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)bVar20" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }))) (expression_statement "*(char **)(puVar10 + -0xc) = "%c";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%c"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""%c"" " string_content ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f16;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f16" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014f16" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar11 = *(uint *)(puVar10 + 0x18);" (assignment_expression "uVar11 = *(uint *)(puVar10 + 0x18)" identifier = (pointer_expression "*(uint *)(puVar10 + 0x18)" * (cast_expression "(uint *)(puVar10 + 0x18)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x18)" ( (binary_expression "puVar10 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }" if (parenthesized_expression "(((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n'))" ( (binary_expression "((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')" (parenthesized_expression "((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r'))" ( (binary_expression "(uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')" (parenthesized_expression "(uVar13 + 2 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar13 + 2 < *(uint *)(puVar10 + 0x7c)" (binary_expression "uVar13 + 2" identifier + number_literal) < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')" ( (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 1 + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + 1 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 1" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + identifier) )))) == (char_literal "'\r'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')" ( (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13)" * (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 2 + uVar13)" ( (binary_expression "*(int *)(puVar10 + 0xc) + 2 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 2" (pointer_expression "*(int *)(puVar10 + 0xc)" * (cast_expression "(int *)(puVar10 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0xc)" ( (binary_expression "puVar10 + 0xc" identifier + number_literal) )))) + number_literal) + identifier) )))) == (char_literal "'\n'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }" { (expression_statement "*(uint *)(puVar10 + 0x10) = uVar13 + 3;" (assignment_expression "*(uint *)(puVar10 + 0x10) = uVar13 + 3" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) = (binary_expression "uVar13 + 3" identifier + number_literal)) ;) (break_statement "break;" break ;) })) }) (else_clause "else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" else (compound_statement "{\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" { (if_statement "if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" if (parenthesized_expression "((byte)(bVar20 - 0x20) < 0x60)" ( (binary_expression "(byte)(bVar20 - 0x20) < 0x60" (call_expression "(byte)(bVar20 - 0x20)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar20 - 0x20)" ( (binary_expression "bVar20 - 0x20" identifier - number_literal) ))) < number_literal) )) (compound_statement "{\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" { (expression_statement "*(uint *)(puVar10 + -8) = (uint)bVar20;" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)bVar20" (pointer_expression "*(uint *)(puVar10 + -8)" * (cast_expression "(uint *)(puVar10 + -8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" else (compound_statement "{\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" { (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x2e;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x2e" (pointer_expression "*(undefined4 *)(puVar10 + -8)" * (cast_expression "(undefined4 *)(puVar10 + -8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -8)" ( (binary_expression "puVar10 + -8" identifier + number_literal) )))) = number_literal) ;) }))) (expression_statement "*(char **)(puVar10 + -0xc) = "%c";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%c"" (pointer_expression "*(char **)(puVar10 + -0xc)" * (cast_expression "(char **)(puVar10 + -0xc)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = (string_literal ""%c"" " string_content ")) ;) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014ec7" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014ec7" & identifier)) ;) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar11 = uVar13 + 1;" (assignment_expression "uVar11 = uVar13 + 1" identifier = (binary_expression "uVar13 + 1" identifier + number_literal)) ;) }))) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" identifier = identifier) ;) }) while (parenthesized_expression "(*(uint *)(puVar10 + 0x10) != uVar11)" ( (binary_expression "*(uint *)(puVar10 + 0x10) != uVar11" (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) )))) != identifier) )) ;) (expression_statement "*(FILE **)(puVar10 + -0xc) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0xc) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0xc)" * (cast_expression "(FILE **)(puVar10 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" * (cast_expression "(undefined4 *)(puVar10 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f4b" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014f4b" & identifier)) ;) (expression_statement "fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));" (call_expression "fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc))" identifier (argument_list "(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc))" ( (pointer_expression "*(int *)(puVar10 + -0x10)" * (cast_expression "(int *)(puVar10 + -0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) , (pointer_expression "*(FILE **)(puVar10 + -0xc)" * (cast_expression "(FILE **)(puVar10 + -0xc)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0xc)" ( (binary_expression "puVar10 + -0xc" identifier + number_literal) )))) ))) ;) (expression_statement "uVar13 = *(uint *)(puVar10 + 0x10);" (assignment_expression "uVar13 = *(uint *)(puVar10 + 0x10)" identifier = (pointer_expression "*(uint *)(puVar10 + 0x10)" * (cast_expression "(uint *)(puVar10 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x10)" ( (binary_expression "puVar10 + 0x10" identifier + number_literal) ))))) ;) }) while (parenthesized_expression "(uVar13 < *(uint *)(puVar10 + 0x7c))" ( (binary_expression "uVar13 < *(uint *)(puVar10 + 0x7c)" identifier < (pointer_expression "*(uint *)(puVar10 + 0x7c)" * (cast_expression "(uint *)(puVar10 + 0x7c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x7c)" ( (binary_expression "puVar10 + 0x7c" identifier + number_literal) ))))) )) ;) })) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f65;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f65" (pointer_expression "*(undefined **)(puVar10 + -0x14)" * (cast_expression "(undefined **)(puVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x14)" ( (binary_expression "puVar10 + -0x14" identifier + number_literal) )))) = (pointer_expression "&UNK_00014f65" & identifier)) ;) (expression_statement "fflush(*(FILE **)(puVar10 + -0x10));" (call_expression "fflush(*(FILE **)(puVar10 + -0x10))" identifier (argument_list "(*(FILE **)(puVar10 + -0x10))" ( (pointer_expression "*(FILE **)(puVar10 + -0x10)" * (cast_expression "(FILE **)(puVar10 + -0x10)" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar10 + -0x10)" ( (binary_expression "puVar10 + -0x10" identifier + number_literal) )))) ))) ;) (labeled_statement "LAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }" statement_identifier : (if_statement "if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }" if (parenthesized_expression "(*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar10 + 0x4c)" * (cast_expression "(int *)(puVar10 + 0x4c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + 0x4c)" ( (binary_expression "puVar10 + 0x4c" 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    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) }))) (expression_statement "*(undefined4 *)(puVar10 + -4) = 0x152d7;" (assignment_expression "*(undefined4 *)(puVar10 + -4) = 0x152d7" (pointer_expression "*(undefined4 *)(puVar10 + -4)" * (cast_expression "(undefined4 *)(puVar10 + -4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar10 + -4)" ( (binary_expression "puVar10 + -4" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_000289b0();" (call_expression "FUN_000289b0()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (string_literal " string_content ") , (field_expression IDENT -> field_identifier) , (field_expression IDENT -> field_identifier) , (field_expression IDENT -> field_identifier) , (subscript_expression IDENT [ LIT ]) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < LIT) )) (compound_statement { (switch_statement switch (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (case_statement case LIT :) (case_statement case LIT : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (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 IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) != (char_literal ' escape_sequence '))) ;) })) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = BOOL) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (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 = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) }) while (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) != IDENT) )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (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 IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) != (char_literal ' escape_sequence '))) ;) })) (break_statement break ;)) (case_statement default : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) != IDENT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) != IDENT) ))) )) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) })) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }))) (goto_statement goto statement_identifier ;) })) (switch_statement switch (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (compound_statement { (case_statement case LIT : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement case LIT : (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (break_statement break ;)) (case_statement default : (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content escape_sequence ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (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 IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) <= IDENT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + IDENT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (break_statement break ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + IDENT) )))) == (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) + IDENT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (break_statement break ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) < LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (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 IDENT + LIT) )))) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return LIT ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "undefined4\nFUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )\n\n{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    \n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}" (type_identifier "undefined4") (function_declarator "FUN_00014c20(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )" (identifier "FUN_00014c20") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5\n            )" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "int param_5" (primitive_type "int") (identifier "param_5")) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  tm *ptVar3;\n  char *pcVar4;\n  FILE *pFVar5;\n  int iVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  undefined1 *puVar10;\n  uint uVar11;\n  byte *pbVar12;\n  uint uVar13;\n  int iVar14;\n  int iVar15;\n  byte *pbVar16;\n  int in_GS_OFFSET;\n  bool bVar17;\n  bool bVar18;\n  bool bVar19;\n  byte bVar20;\n  undefined1 auStack_70 [4];\n  undefined1 auStack_6c [12];\n  undefined4 local_60;\n  undefined4 local_5c;\n  int local_48;\n  undefined4 local_44 [2];\n  int local_3c;\n  undefined1 local_38 [4];\n  undefined1 local_34;\n  undefined4 local_20;\n  undefined4 uStack_14;\n  \n  bVar20 = 0;\n  uStack_14 = 0x14c29;\n  puVar9 = auStack_6c;\n  puVar10 = auStack_6c;\n  local_60 = param_3;\n  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);\n  iVar15 = *(int *)(param_5 + 0x290);\n  local_5c = *(undefined4 *)(iVar15 + 0xc);\n  if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }\n  bVar19 = pFVar5 == (FILE *)0x0;\n  if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }\n  puVar10 = puVar9;\n  iVar6 = *(int *)(iVar15 + 0x20);\n  *(int *)(puVar10 + 0x14) = iVar6;\n  if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }\n  switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }\n  uVar8 = 0x40;\n  if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }\n  uVar13 = 0;\n  *(undefined4 *)(puVar10 + 0x1c) = uVar8;\n  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);\n  *(char **)(puVar10 + -0x14) = pcVar4;\n  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;\n  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";\n  *(FILE **)(puVar10 + -0x20) = pFVar5;\n  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;\n  curl_mfprintf();\n  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;\n  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;\n  if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }\n  *(FILE **)(puVar10 + -0x10) = pFVar5;\n  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;\n  fflush(*(FILE **)(puVar10 + -0x10));\nLAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }\n                    \n  *(undefined4 *)(puVar10 + -4) = 0x152d7;\n  FUN_000289b0();\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "tm *ptVar3;" (type_identifier "tm") (pointer_declarator "*ptVar3" (* "*") (identifier "ptVar3")) (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "FILE *pFVar5;" (type_identifier "FILE") (pointer_declarator "*pFVar5" (* "*") (identifier "pFVar5")) (; ";")) (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 "undefined1 *puVar9;" (type_identifier "undefined1") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "undefined1 *puVar10;" (type_identifier "undefined1") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "byte *pbVar12;" (type_identifier "byte") (pointer_declarator "*pbVar12" (* "*") (identifier "pbVar12")) (; ";")) (declaration "uint uVar13;" (type_identifier "uint") (identifier "uVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (declaration "bool bVar17;" (primitive_type "bool") (identifier "bVar17") (; ";")) (declaration "bool bVar18;" (primitive_type "bool") (identifier "bVar18") (; ";")) (declaration "bool bVar19;" (primitive_type "bool") (identifier "bVar19") (; ";")) (declaration "byte bVar20;" (type_identifier "byte") (identifier "bVar20") (; ";")) (declaration "undefined1 auStack_70 [4];" (type_identifier "undefined1") (array_declarator "auStack_70 [4]" (identifier "auStack_70") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 auStack_6c [12];" (type_identifier "undefined1") (array_declarator "auStack_6c [12]" (identifier "auStack_6c") ([ "[") (number_literal "12") (] "]")) (; ";")) (declaration "undefined4 local_60;" (type_identifier "undefined4") (identifier "local_60") (; ";")) (declaration "undefined4 local_5c;" (type_identifier "undefined4") (identifier "local_5c") (; ";")) (declaration "int local_48;" (primitive_type "int") (identifier "local_48") (; ";")) (declaration "undefined4 local_44 [2];" (type_identifier "undefined4") (array_declarator "local_44 [2]" (identifier "local_44") ([ "[") (number_literal "2") (] "]")) (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "undefined1 local_38 [4];" (type_identifier "undefined1") (array_declarator "local_38 [4]" (identifier "local_38") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 local_34;" (type_identifier "undefined1") (identifier "local_34") (; ";")) (declaration "undefined4 local_20;" (type_identifier "undefined4") (identifier "local_20") (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "bVar20 = 0;" (assignment_expression "bVar20 = 0" (identifier "bVar20") (= "=") (number_literal "0")) (; ";")) (expression_statement "uStack_14 = 0x14c29;" (assignment_expression "uStack_14 = 0x14c29" (identifier "uStack_14") (= "=") (number_literal "0x14c29")) (; ";")) (expression_statement "puVar9 = auStack_6c;" (assignment_expression "puVar9 = auStack_6c" (identifier "puVar9") (= "=") (identifier "auStack_6c")) (; ";")) (expression_statement "puVar10 = auStack_6c;" (assignment_expression "puVar10 = auStack_6c" (identifier "puVar10") (= "=") (identifier "auStack_6c")) (; ";")) (expression_statement "local_60 = param_3;" (assignment_expression "local_60 = param_3" (identifier "local_60") (= "=") (identifier "param_3")) (; ";")) (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 "iVar15 = *(int *)(param_5 + 0x290);" (assignment_expression "iVar15 = *(int *)(param_5 + 0x290)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(param_5 + 0x290)" (* "*") (cast_expression "(int *)(param_5 + 0x290)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_5 + 0x290)" (( "(") (binary_expression "param_5 + 0x290" (identifier "param_5") (+ "+") (number_literal "0x290")) () ")"))))) (; ";")) (expression_statement "local_5c = *(undefined4 *)(iVar15 + 0xc);" (assignment_expression "local_5c = *(undefined4 *)(iVar15 + 0xc)" (identifier "local_5c") (= "=") (pointer_expression "*(undefined4 *)(iVar15 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar15 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0xc)" (( "(") (binary_expression "iVar15 + 0xc" (identifier "iVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (*(char *)(iVar15 + 0x24) == '\0') {\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }\n  else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" (if "if") (parenthesized_expression "(*(char *)(iVar15 + 0x24) == '\0')" (( "(") (binary_expression "*(char *)(iVar15 + 0x24) == '\0'" (pointer_expression "*(char *)(iVar15 + 0x24)" (* "*") (cast_expression "(char *)(iVar15 + 0x24)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x24)" (( "(") (binary_expression "iVar15 + 0x24" (identifier "iVar15") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n    local_34 = 0;\n  }" ({ "{") (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0x18);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0x18)" (identifier "pFVar5") (= "=") (pointer_expression "*(FILE **)(iVar15 + 0x18)" (* "*") (cast_expression "(FILE **)(iVar15 + 0x18)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "local_34 = 0;" (assignment_expression "local_34 = 0" (identifier "local_34") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" (else "else") (compound_statement "{\n    FUN_00027ba0(local_44);\n    if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }\n    puVar10 = auStack_70;\n    puVar9 = auStack_70;\n    ptVar3 = localtime(&local_3c);\n    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);\n    pFVar5 = *(FILE **)(iVar15 + 0x18);\n  }" ({ "{") (expression_statement "FUN_00027ba0(local_44);" (call_expression "FUN_00027ba0(local_44)" (identifier "FUN_00027ba0") (argument_list "(local_44)" (( "(") (identifier "local_44") () ")"))) (; ";")) (if_statement "if (DAT_0004a030 == 0) {\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }\n    else {\n      local_3c = DAT_0004a02c + local_48;\n    }" (if "if") (parenthesized_expression "(DAT_0004a030 == 0)" (( "(") (binary_expression "DAT_0004a030 == 0" (identifier "DAT_0004a030") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_3c = time((time_t *)0x0);\n      DAT_0004a030 = 1;\n      DAT_0004a02c = local_3c - local_48;\n    }" ({ "{") (expression_statement "local_3c = time((time_t *)0x0);" (assignment_expression "local_3c = time((time_t *)0x0)" (identifier "local_3c") (= "=") (call_expression "time((time_t *)0x0)" (identifier "time") (argument_list "((time_t *)0x0)" (( "(") (cast_expression "(time_t *)0x0" (( "(") (type_descriptor "time_t *" (type_identifier "time_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) () ")")))) (; ";")) (expression_statement "DAT_0004a030 = 1;" (assignment_expression "DAT_0004a030 = 1" (identifier "DAT_0004a030") (= "=") (number_literal "1")) (; ";")) (expression_statement "DAT_0004a02c = local_3c - local_48;" (assignment_expression "DAT_0004a02c = local_3c - local_48" (identifier "DAT_0004a02c") (= "=") (binary_expression "local_3c - local_48" (identifier "local_3c") (- "-") (identifier "local_48"))) (; ";")) (} "}")) (else_clause "else {\n      local_3c = DAT_0004a02c + local_48;\n    }" (else "else") (compound_statement "{\n      local_3c = DAT_0004a02c + local_48;\n    }" ({ "{") (expression_statement "local_3c = DAT_0004a02c + local_48;" (assignment_expression "local_3c = DAT_0004a02c + local_48" (identifier "local_3c") (= "=") (binary_expression "DAT_0004a02c + local_48" (identifier "DAT_0004a02c") (+ "+") (identifier "local_48"))) (; ";")) (} "}")))) (expression_statement "puVar10 = auStack_70;" (assignment_expression "puVar10 = auStack_70" (identifier "puVar10") (= "=") (identifier "auStack_70")) (; ";")) (expression_statement "puVar9 = auStack_70;" (assignment_expression "puVar9 = auStack_70" (identifier "puVar9") (= "=") (identifier "auStack_70")) (; ";")) (expression_statement "ptVar3 = localtime(&local_3c);" (assignment_expression "ptVar3 = localtime(&local_3c)" (identifier "ptVar3") (= "=") (call_expression "localtime(&local_3c)" (identifier "localtime") (argument_list "(&local_3c)" (( "(") (pointer_expression "&local_3c" (& "&") (identifier "local_3c")) () ")")))) (; ";")) (expression_statement "curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0]);" (call_expression "curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0])" (identifier "curl_msnprintf") (argument_list "(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,\n                   ptVar3->tm_sec,local_44[0])" (( "(") (identifier "local_38") (, ",") (number_literal "0x14") (, ",") (string_literal ""%02d:%02d:%02d.%06ld "" (" """) (string_content "%02d:%02d:%02d.%06ld ") (" """)) (, ",") (field_expression "ptVar3->tm_hour" (identifier "ptVar3") (-> "->") (field_identifier "tm_hour")) (, ",") (field_expression "ptVar3->tm_min" (identifier "ptVar3") (-> "->") (field_identifier "tm_min")) (, ",") (field_expression "ptVar3->tm_sec" (identifier "ptVar3") (-> "->") (field_identifier "tm_sec")) (, ",") (subscript_expression "local_44[0]" (identifier "local_44") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0x18);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0x18)" (identifier "pFVar5") (= "=") (pointer_expression "*(FILE **)(iVar15 + 0x18)" (* "*") (cast_expression "(FILE **)(iVar15 + 0x18)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (} "}")))) (expression_statement "bVar19 = pFVar5 == (FILE *)0x0;" (assignment_expression "bVar19 = pFVar5 == (FILE *)0x0" (identifier "bVar19") (= "=") (binary_expression "pFVar5 == (FILE *)0x0" (identifier "pFVar5") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (if_statement "if (bVar19) {\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }" (if "if") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (compound_statement "{\n    bVar17 = false;\n    pbVar1 = *(byte **)(iVar15 + 0x14);\n    iVar6 = 2;\n    pbVar12 = &DAT_0003d16d;\n    pbVar16 = pbVar1;\n    do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);\n    bVar18 = false;\n    bVar19 = (!bVar17 && !bVar19) == bVar17;\n    if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }\n    puVar9 = puVar10;\n    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }\n  }" ({ "{") (expression_statement "bVar17 = false;" (assignment_expression "bVar17 = false" (identifier "bVar17") (= "=") (false "false")) (; ";")) (expression_statement "pbVar1 = *(byte **)(iVar15 + 0x14);" (assignment_expression "pbVar1 = *(byte **)(iVar15 + 0x14)" (identifier "pbVar1") (= "=") (pointer_expression "*(byte **)(iVar15 + 0x14)" (* "*") (cast_expression "(byte **)(iVar15 + 0x14)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x14)" (( "(") (binary_expression "iVar15 + 0x14" (identifier "iVar15") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" (identifier "iVar6") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar12 = &DAT_0003d16d;" (assignment_expression "pbVar12 = &DAT_0003d16d" (identifier "pbVar12") (= "=") (pointer_expression "&DAT_0003d16d" (& "&") (identifier "DAT_0003d16d"))) (; ";")) (expression_statement "pbVar16 = pbVar1;" (assignment_expression "pbVar16 = pbVar1" (identifier "pbVar16") (= "=") (identifier "pbVar1")) (; ";")) (do_statement "do {\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    } while (bVar19);" (do "do") (compound_statement "{\n      if (iVar6 == 0) break;\n      iVar6 = iVar6 + -1;\n      bVar17 = *pbVar12 < *pbVar16;\n      bVar19 = *pbVar12 == *pbVar16;\n      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n    }" ({ "{") (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar17 = *pbVar12 < *pbVar16;" (assignment_expression "bVar17 = *pbVar12 < *pbVar16" (identifier "bVar17") (= "=") (binary_expression "*pbVar12 < *pbVar16" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (< "<") (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")))) (; ";")) (expression_statement "bVar19 = *pbVar12 == *pbVar16;" (assignment_expression "bVar19 = *pbVar12 == *pbVar16" (identifier "bVar19") (= "=") (binary_expression "*pbVar12 == *pbVar16" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (== "==") (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")))) (; ";")) (expression_statement "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar20 * -2" (identifier "pbVar12") (+ "+") (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1" (identifier "pbVar16") (= "=") (binary_expression "pbVar16 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar20 * -2" (identifier "pbVar16") (+ "+") (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (expression_statement "bVar18 = false;" (assignment_expression "bVar18 = false" (identifier "bVar18") (= "=") (false "false")) (; ";")) (expression_statement "bVar19 = (!bVar17 && !bVar19) == bVar17;" (assignment_expression "bVar19 = (!bVar17 && !bVar19) == bVar17" (identifier "bVar19") (= "=") (binary_expression "(!bVar17 && !bVar19) == bVar17" (parenthesized_expression "(!bVar17 && !bVar19)" (( "(") (binary_expression "!bVar17 && !bVar19" (unary_expression "!bVar17" (! "!") (identifier "bVar17")) (&& "&&") (unary_expression "!bVar19" (! "!") (identifier "bVar19"))) () ")")) (== "==") (identifier "bVar17"))) (; ";")) (if_statement "if (bVar19) {\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }\n    else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" (if "if") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (compound_statement "{\n      pFVar5 = *(FILE **)PTR_stdout_00049fb0;\n      *(FILE **)(iVar15 + 0x18) = pFVar5;\n    }" ({ "{") (expression_statement "pFVar5 = *(FILE **)PTR_stdout_00049fb0;" (assignment_expression "pFVar5 = *(FILE **)PTR_stdout_00049fb0" (identifier "pFVar5") (= "=") (pointer_expression "*(FILE **)PTR_stdout_00049fb0" (* "*") (cast_expression "(FILE **)PTR_stdout_00049fb0" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_00049fb0")))) (; ";")) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" (* "*") (cast_expression "(FILE **)(iVar15 + 0x18)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (} "}")) (else_clause "else {\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" (else "else") (compound_statement "{\n      iVar6 = 2;\n      pbVar12 = &DAT_00029189;\n      pbVar16 = pbVar1;\n      do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);\n      if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n    }" ({ "{") (expression_statement "iVar6 = 2;" (assignment_expression "iVar6 = 2" (identifier "iVar6") (= "=") (number_literal "2")) (; ";")) (expression_statement "pbVar12 = &DAT_00029189;" (assignment_expression "pbVar12 = &DAT_00029189" (identifier "pbVar12") (= "=") (pointer_expression "&DAT_00029189" (& "&") (identifier "DAT_00029189"))) (; ";")) (expression_statement "pbVar16 = pbVar1;" (assignment_expression "pbVar16 = pbVar1" (identifier "pbVar16") (= "=") (identifier "pbVar1")) (; ";")) (do_statement "do {\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      } while (bVar19);" (do "do") (compound_statement "{\n        if (iVar6 == 0) break;\n        iVar6 = iVar6 + -1;\n        bVar18 = *pbVar12 < *pbVar16;\n        bVar19 = *pbVar12 == *pbVar16;\n        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;\n        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;\n      }" ({ "{") (if_statement "if (iVar6 == 0) break;" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar6 = iVar6 + -1;" (assignment_expression "iVar6 = iVar6 + -1" (identifier "iVar6") (= "=") (binary_expression "iVar6 + -1" (identifier "iVar6") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "bVar18 = *pbVar12 < *pbVar16;" (assignment_expression "bVar18 = *pbVar12 < *pbVar16" (identifier "bVar18") (= "=") (binary_expression "*pbVar12 < *pbVar16" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (< "<") (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")))) (; ";")) (expression_statement "bVar19 = *pbVar12 == *pbVar16;" (assignment_expression "bVar19 = *pbVar12 == *pbVar16" (identifier "bVar19") (= "=") (binary_expression "*pbVar12 == *pbVar16" (pointer_expression "*pbVar12" (* "*") (identifier "pbVar12")) (== "==") (pointer_expression "*pbVar16" (* "*") (identifier "pbVar16")))) (; ";")) (expression_statement "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1" (identifier "pbVar12") (= "=") (binary_expression "pbVar12 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar12 + (uint)bVar20 * -2" (identifier "pbVar12") (+ "+") (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;" (assignment_expression "pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1" (identifier "pbVar16") (= "=") (binary_expression "pbVar16 + (uint)bVar20 * -2 + 1" (binary_expression "pbVar16 + (uint)bVar20 * -2" (identifier "pbVar16") (+ "+") (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar19)" (( "(") (identifier "bVar19") () ")")) (; ";")) (if_statement "if ((!bVar18 && !bVar19) == bVar18) {\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }\n      else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" (if "if") (parenthesized_expression "((!bVar18 && !bVar19) == bVar18)" (( "(") (binary_expression "(!bVar18 && !bVar19) == bVar18" (parenthesized_expression "(!bVar18 && !bVar19)" (( "(") (binary_expression "!bVar18 && !bVar19" (unary_expression "!bVar18" (! "!") (identifier "bVar18")) (&& "&&") (unary_expression "!bVar19" (! "!") (identifier "bVar19"))) () ")")) (== "==") (identifier "bVar18")) () ")")) (compound_statement "{\n        pFVar5 = *(FILE **)(iVar15 + 0xc);\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" ({ "{") (expression_statement "pFVar5 = *(FILE **)(iVar15 + 0xc);" (assignment_expression "pFVar5 = *(FILE **)(iVar15 + 0xc)" (identifier "pFVar5") (= "=") (pointer_expression "*(FILE **)(iVar15 + 0xc)" (* "*") (cast_expression "(FILE **)(iVar15 + 0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0xc)" (( "(") (binary_expression "iVar15 + 0xc" (identifier "iVar15") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" (* "*") (cast_expression "(FILE **)(iVar15 + 0x18)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (} "}")) (else_clause "else {\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" (else "else") (compound_statement "{\n        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;\n        *(byte **)(puVar10 + -0x10) = pbVar1;\n        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;\n        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));\n        *(undefined1 *)(iVar15 + 0x1c) = 1;\n        *(FILE **)(iVar15 + 0x18) = pFVar5;\n      }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &DAT_0002a35d" (pointer_expression "*(undefined **)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&DAT_0002a35d" (& "&") (identifier "DAT_0002a35d"))) (; ";")) (expression_statement "*(byte **)(puVar10 + -0x10) = pbVar1;" (assignment_expression "*(byte **)(puVar10 + -0x10) = pbVar1" (pointer_expression "*(byte **)(puVar10 + -0x10)" (* "*") (cast_expression "(byte **)(puVar10 + -0x10)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pbVar1")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x151c0;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x151c0" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x151c0")) (; ";")) (expression_statement "pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));" (assignment_expression "pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" (identifier "pFVar5") (= "=") (call_expression "fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" (identifier "fopen64") (argument_list "(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc))" (( "(") (pointer_expression "*(char **)(puVar10 + -0x10)" (* "*") (cast_expression "(char **)(puVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) () ")")))) (; ";")) (expression_statement "*(undefined1 *)(iVar15 + 0x1c) = 1;" (assignment_expression "*(undefined1 *)(iVar15 + 0x1c) = 1" (pointer_expression "*(undefined1 *)(iVar15 + 0x1c)" (* "*") (cast_expression "(undefined1 *)(iVar15 + 0x1c)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x1c)" (( "(") (binary_expression "iVar15 + 0x1c" (identifier "iVar15") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(FILE **)(iVar15 + 0x18) = pFVar5;" (assignment_expression "*(FILE **)(iVar15 + 0x18) = pFVar5" (pointer_expression "*(FILE **)(iVar15 + 0x18)" (* "*") (cast_expression "(FILE **)(iVar15 + 0x18)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar15 + 0x18)" (( "(") (binary_expression "iVar15 + 0x18" (identifier "iVar15") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (} "}")))) (} "}")))) (expression_statement "puVar9 = puVar10;" (assignment_expression "puVar9 = puVar10" (identifier "puVar9") (= "=") (identifier "puVar10")) (; ";")) (if_statement "if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }" (if "if") (parenthesized_expression "((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0))" (( "(") (binary_expression "(pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)" (parenthesized_expression "(pFVar5 == (FILE *)0x0)" (( "(") (binary_expression "pFVar5 == (FILE *)0x0" (identifier "pFVar5") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (&& "&&") (parenthesized_expression "(pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)" (( "(") (comma_expression "pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0" (assignment_expression "pFVar5 = *(FILE **)(puVar10 + 0x10)" (identifier "pFVar5") (= "=") (pointer_expression "*(FILE **)(puVar10 + 0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + 0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")"))))) (, ",") (binary_expression "pFVar5 == (FILE *)0x0" (identifier "pFVar5") (== "==") (cast_expression "(FILE *)0x0" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\n      *(char **)(puVar10 + -0xc) = "Failed to create/open output";\n      *(int *)(puVar10 + -0x10) = iVar15;\n      *(undefined4 *)(puVar10 + -0x14) = 0x14def;\n      FUN_0001ed70();\n      goto LAB_00014d00;\n    }" ({ "{") (expression_statement "*(char **)(puVar10 + -0xc) = "Failed to create/open output";" (assignment_expression "*(char **)(puVar10 + -0xc) = "Failed to create/open output"" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""Failed to create/open output"" (" """) (string_content "Failed to create/open output") (" """))) (; ";")) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x14) = 0x14def;" (assignment_expression "*(undefined4 *)(puVar10 + -0x14) = 0x14def" (pointer_expression "*(undefined4 *)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (number_literal "0x14def")) (; ";")) (expression_statement "FUN_0001ed70();" (call_expression "FUN_0001ed70()" (identifier "FUN_0001ed70") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00014d00;" (goto "goto") (statement_identifier "LAB_00014d00") (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar10 = puVar9;" (assignment_expression "puVar10 = puVar9" (identifier "puVar10") (= "=") (identifier "puVar9")) (; ";")) (expression_statement "iVar6 = *(int *)(iVar15 + 0x20);" (assignment_expression "iVar6 = *(int *)(iVar15 + 0x20)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar10 + 0x14) = iVar6;" (assignment_expression "*(int *)(puVar10 + 0x14) = iVar6" (pointer_expression "*(int *)(puVar10 + 0x14)" (* "*") (cast_expression "(int *)(puVar10 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (if_statement "if (iVar6 == 3) {\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }" (if "if") (parenthesized_expression "(iVar6 == 3)" (( "(") (binary_expression "iVar6 == 3" (identifier "iVar6") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n    if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }\n    goto LAB_00014d00;\n  }" ({ "{") (if_statement "if (*(uint *)(puVar10 + 0x74) < 7) {\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }\n    else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" (if "if") (parenthesized_expression "(*(uint *)(puVar10 + 0x74) < 7)" (( "(") (binary_expression "*(uint *)(puVar10 + 0x74) < 7" (pointer_expression "*(uint *)(puVar10 + 0x74)" (* "*") (cast_expression "(uint *)(puVar10 + 0x74)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x74)" (( "(") (binary_expression "puVar10 + 0x74" (identifier "puVar10") (+ "+") (number_literal "0x74")) () ")")))) (< "<") (number_literal "7")) () ")")) (compound_statement "{\n      switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }\n      DAT_0004a028 = '\0';\n      DAT_0004a029 = bVar19;\n    }" ({ "{") (switch_statement "switch(*(int *)(puVar10 + 0x74)) {\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }" (switch "switch") (parenthesized_expression "(*(int *)(puVar10 + 0x74))" (( "(") (pointer_expression "*(int *)(puVar10 + 0x74)" (* "*") (cast_expression "(int *)(puVar10 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x74)" (( "(") (binary_expression "puVar10 + 0x74" (identifier "puVar10") (+ "+") (number_literal "0x74")) () ")")))) () ")")) (compound_statement "{\n      case 0:\n      case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;\n      default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;\n      }" ({ "{") (case_statement "case 0:" (case "case") (number_literal "0") (: ":")) (case_statement "case 1:\n        if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }\n        *(FILE **)(puVar10 + -4) = pFVar5;\n        *(undefined4 *)(puVar10 + -8) = 1;\n        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);\n        iVar15 = *(int *)(puVar10 + 0xc);\n        *(int *)(puVar10 + -0x10) = iVar15;\n        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;\n        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;" (case "case") (number_literal "1") (: ":") (if_statement "if (DAT_0004a029 == '\0') {\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }" (if "if") (parenthesized_expression "(DAT_0004a029 == '\0')" (( "(") (binary_expression "DAT_0004a029 == '\0'" (identifier "DAT_0004a029") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;\n          curl_mfprintf();\n        }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];" (assignment_expression "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (pointer_expression "*(undefined **)(puVar10 + -4)" (* "*") (cast_expression "(undefined **)(puVar10 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (subscript_expression "(&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (parenthesized_expression "(&PTR_DAT_00048320)" (( "(") (pointer_expression "&PTR_DAT_00048320" (& "&") (identifier "PTR_DAT_00048320")) () ")")) ([ "[") (pointer_expression "*(int *)(puVar10 + 0x74)" (* "*") (cast_expression "(int *)(puVar10 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x74)" (( "(") (binary_expression "puVar10 + 0x74" (identifier "puVar10") (+ "+") (number_literal "0x74")) () ")")))) (] "]"))) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar10 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "puVar10 + 0x38" (identifier "puVar10") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_00029095" (& "&") (identifier "UNK_00029095"))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015279;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015279" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00015279" (& "&") (identifier "UNK_00015279"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" (* "*") (cast_expression "(FILE **)(puVar10 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015181;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015181" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00015181" (& "&") (identifier "UNK_00015181"))) (; ";")) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4))" (identifier "fwrite") (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n               *(FILE **)(puVar10 + -4))" (( "(") (pointer_expression "*(void **)(puVar10 + -0x10)" (* "*") (cast_expression "(void **)(puVar10 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar10 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -8)" (* "*") (cast_expression "(size_t *)(puVar10 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar10 + -4)" (* "*") (cast_expression "(FILE **)(puVar10 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" (identifier "bVar19") (= "=") (false "false")) (; ";")) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" (( "(") (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" (* "*") (cast_expression "(int *)(puVar10 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" ({ "{") (expression_statement "bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';" (assignment_expression "bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (identifier "bVar19") (= "=") (binary_expression "*(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (pointer_expression "*(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" (* "*") (cast_expression "(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + -1 + *(int *)(puVar10 + 0x7c))" (( "(") (binary_expression "iVar15 + -1 + *(int *)(puVar10 + 0x7c)" (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1")) (+ "+") (pointer_expression "*(int *)(puVar10 + 0x7c)" (* "*") (cast_expression "(int *)(puVar10 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) () ")")))) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n        bVar19 = false;\n        if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }\n        break;" (case "case") (number_literal "2") (: ":") (expression_statement "bVar19 = false;" (assignment_expression "bVar19 = false" (identifier "bVar19") (= "=") (false "false")) (; ";")) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" (( "(") (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" (* "*") (cast_expression "(int *)(puVar10 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          iVar15 = *(int *)(puVar10 + 0x7c);\n          cVar2 = DAT_0004a029;\n          if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }\n          if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }\n          *(FILE **)(puVar10 + -4) = pFVar5;\n          *(undefined4 *)(puVar10 + -8) = 1;\n          *(int *)(puVar10 + -0xc) = iVar6;\n          *(int *)(puVar10 + -0x10) = iVar15;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;\n          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));\n          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';\n        }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar10 + 0x7c);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0x7c)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar10 + 0x7c)" (* "*") (cast_expression "(int *)(puVar10 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "cVar2 = DAT_0004a029;" (assignment_expression "cVar2 = DAT_0004a029" (identifier "cVar2") (= "=") (identifier "DAT_0004a029")) (; ";")) (if_statement "if (iVar15 == 1) {\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }\n          else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" (if "if") (parenthesized_expression "(iVar15 == 1)" (( "(") (binary_expression "iVar15 == 1" (identifier "iVar15") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n            iVar15 = *(int *)(puVar10 + 0xc);\n            iVar6 = 1;\n          }" ({ "{") (expression_statement "iVar15 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar6 = 1;" (assignment_expression "iVar6 = 1" (identifier "iVar6") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" (else "else") (compound_statement "{\n            *(FILE **)(puVar10 + 0x14) = pFVar5;\n            iVar14 = 0;\n            *(char **)(puVar10 + 0x18) = ">";\n            iVar6 = 0;\n            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;\n            iVar7 = *(int *)(puVar10 + 0xc);\n            do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);\n            pFVar5 = *(FILE **)(puVar10 + 0x14);\n            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;\n            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;\n          }" ({ "{") (expression_statement "*(FILE **)(puVar10 + 0x14) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + 0x14) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + 0x14)" (* "*") (cast_expression "(FILE **)(puVar10 + 0x14)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "iVar14 = 0;" (assignment_expression "iVar14 = 0" (identifier "iVar14") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(char **)(puVar10 + 0x18) = ">";" (assignment_expression "*(char **)(puVar10 + 0x18) = ">"" (pointer_expression "*(char **)(puVar10 + 0x18)" (* "*") (cast_expression "(char **)(puVar10 + 0x18)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (string_literal "">"" (" """) (string_content ">") (" """))) (; ";")) (expression_statement "iVar6 = 0;" (assignment_expression "iVar6 = 0" (identifier "iVar6") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + 0x1c)" (* "*") (cast_expression "(undefined1 **)(puVar10 + 0x1c)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x1c)" (( "(") (binary_expression "puVar10 + 0x1c" (identifier "puVar10") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (binary_expression "puVar10 + 0x38" (identifier "puVar10") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar10 + 0xc);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0xc)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (do_statement "do {\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            } while (iVar15 + -1 != iVar14);" (do "do") (compound_statement "{\n              pcVar4 = (char *)(iVar7 + iVar14);\n              iVar14 = iVar14 + 1;\n              if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }\n            }" ({ "{") (expression_statement "pcVar4 = (char *)(iVar7 + iVar14);" (assignment_expression "pcVar4 = (char *)(iVar7 + iVar14)" (identifier "pcVar4") (= "=") (cast_expression "(char *)(iVar7 + iVar14)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar14)" (( "(") (binary_expression "iVar7 + iVar14" (identifier "iVar7") (+ "+") (identifier "iVar14")) () ")")))) (; ";")) (expression_statement "iVar14 = iVar14 + 1;" (assignment_expression "iVar14 = iVar14 + 1" (identifier "iVar14") (= "=") (binary_expression "iVar14 + 1" (identifier "iVar14") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (*pcVar4 == '\n') {\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }" (if "if") (parenthesized_expression "(*pcVar4 == '\n')" (( "(") (binary_expression "*pcVar4 == '\n'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n                if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }\n                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);\n                *(undefined4 *)(puVar10 + -8) = 1;\n                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;\n                *(int *)(puVar10 + 0x10) = iVar7;\n                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;\n                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;\n                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));\n                cVar2 = '\0';\n                iVar7 = *(int *)(puVar10 + 0x10);\n                DAT_0004a029 = '\0';\n                iVar6 = iVar14;\n              }" ({ "{") (if_statement "if (cVar2 == '\0') {\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n                  *(int *)(puVar10 + 0x10) = iVar7;\n                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);\n                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);\n                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);\n                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;\n                  curl_mfprintf();\n                  iVar7 = *(int *)(puVar10 + 0x10);\n                }" ({ "{") (expression_statement "*(int *)(puVar10 + 0x10) = iVar7;" (assignment_expression "*(int *)(puVar10 + 0x10) = iVar7" (pointer_expression "*(int *)(puVar10 + 0x10)" (* "*") (cast_expression "(int *)(puVar10 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c)" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x1c)" (( "(") (binary_expression "puVar10 + 0x1c" (identifier "puVar10") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_00029095" (& "&") (identifier "UNK_00029095"))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001520c;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001520c" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0001520c" (& "&") (identifier "UNK_0001520c"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar10 + 0x10)" (* "*") (cast_expression "(int *)(puVar10 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x14)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar10 + -0xc) = iVar14 - iVar6;" (assignment_expression "*(int *)(puVar10 + -0xc) = iVar14 - iVar6" (pointer_expression "*(int *)(puVar10 + -0xc)" (* "*") (cast_expression "(int *)(puVar10 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (binary_expression "iVar14 - iVar6" (identifier "iVar14") (- "-") (identifier "iVar6"))) (; ";")) (expression_statement "*(int *)(puVar10 + 0x10) = iVar7;" (assignment_expression "*(int *)(puVar10 + 0x10) = iVar7" (pointer_expression "*(int *)(puVar10 + 0x10)" (* "*") (cast_expression "(int *)(puVar10 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "iVar7")) (; ";")) (expression_statement "*(int *)(puVar10 + -0x10) = iVar6 + iVar7;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar6 + iVar7" (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (binary_expression "iVar6 + iVar7" (identifier "iVar6") (+ "+") (identifier "iVar7"))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015145;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015145" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00015145" (& "&") (identifier "UNK_00015145"))) (; ";")) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4))" (identifier "fwrite") (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),\n                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4))" (( "(") (pointer_expression "*(void **)(puVar10 + -0x10)" (* "*") (cast_expression "(void **)(puVar10 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar10 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -8)" (* "*") (cast_expression "(size_t *)(puVar10 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar10 + -4)" (* "*") (cast_expression "(FILE **)(puVar10 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) () ")"))) (; ";")) (expression_statement "cVar2 = '\0';" (assignment_expression "cVar2 = '\0'" (identifier "cVar2") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "iVar7 = *(int *)(puVar10 + 0x10);" (assignment_expression "iVar7 = *(int *)(puVar10 + 0x10)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(puVar10 + 0x10)" (* "*") (cast_expression "(int *)(puVar10 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" (identifier "DAT_0004a029") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "iVar6 = iVar14;" (assignment_expression "iVar6 = iVar14" (identifier "iVar6") (= "=") (identifier "iVar14")) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(iVar15 + -1 != iVar14)" (( "(") (binary_expression "iVar15 + -1 != iVar14" (binary_expression "iVar15 + -1" (identifier "iVar15") (+ "+") (number_literal "-1")) (!= "!=") (identifier "iVar14")) () ")")) (; ";")) (expression_statement "pFVar5 = *(FILE **)(puVar10 + 0x14);" (assignment_expression "pFVar5 = *(FILE **)(puVar10 + 0x14)" (identifier "pFVar5") (= "=") (pointer_expression "*(FILE **)(puVar10 + 0x14)" (* "*") (cast_expression "(FILE **)(puVar10 + 0x14)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "iVar15 = *(int *)(puVar10 + 0xc) + iVar6;" (assignment_expression "iVar15 = *(int *)(puVar10 + 0xc) + iVar6" (identifier "iVar15") (= "=") (binary_expression "*(int *)(puVar10 + 0xc) + iVar6" (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (identifier "iVar6"))) (; ";")) (expression_statement "iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;" (assignment_expression "iVar6 = *(int *)(puVar10 + 0x7c) - iVar6" (identifier "iVar6") (= "=") (binary_expression "*(int *)(puVar10 + 0x7c) - iVar6" (pointer_expression "*(int *)(puVar10 + 0x7c)" (* "*") (cast_expression "(int *)(puVar10 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")")))) (- "-") (identifier "iVar6"))) (; ";")) (} "}")))) (if_statement "if (cVar2 == '\0') {\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }" (if "if") (parenthesized_expression "(cVar2 == '\0')" (( "(") (binary_expression "cVar2 == '\0'" (identifier "cVar2") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(char **)(puVar10 + -4) = ">";\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;\n            curl_mfprintf();\n          }" ({ "{") (expression_statement "*(char **)(puVar10 + -4) = ">";" (assignment_expression "*(char **)(puVar10 + -4) = ">"" (pointer_expression "*(char **)(puVar10 + -4)" (* "*") (cast_expression "(char **)(puVar10 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (string_literal "">"" (" """) (string_content ">") (" """))) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar10 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "puVar10 + 0x38" (identifier "puVar10") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_00029095" (& "&") (identifier "UNK_00029095"))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001529a;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001529a" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0001529a" (& "&") (identifier "UNK_0001529a"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" (* "*") (cast_expression "(FILE **)(puVar10 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -8) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(int *)(puVar10 + -0xc) = iVar6;" (assignment_expression "*(int *)(puVar10 + -0xc) = iVar6" (pointer_expression "*(int *)(puVar10 + -0xc)" (* "*") (cast_expression "(int *)(puVar10 + -0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(int *)(puVar10 + -0x10) = iVar15;" (assignment_expression "*(int *)(puVar10 + -0x10) = iVar15" (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015241;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015241" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00015241" (& "&") (identifier "UNK_00015241"))) (; ";")) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4))" (identifier "fwrite") (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),\n                 *(FILE **)(puVar10 + -4))" (( "(") (pointer_expression "*(void **)(puVar10 + -0x10)" (* "*") (cast_expression "(void **)(puVar10 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar10 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -8)" (* "*") (cast_expression "(size_t *)(puVar10 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar10 + -4)" (* "*") (cast_expression "(FILE **)(puVar10 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) () ")"))) (; ";")) (expression_statement "bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';" (assignment_expression "bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (identifier "bVar19") (= "=") (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" (* "*") (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c))" (( "(") (binary_expression "*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)" (binary_expression "*(int *)(puVar10 + 0xc) + -1" (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "-1")) (+ "+") (pointer_expression "*(int *)(puVar10 + 0x7c)" (* "*") (cast_expression "(int *)(puVar10 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) () ")")))) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'")))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n        if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }\n        goto LAB_00014d00;" (default "default") (: ":") (if_statement "if ((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))) {\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }" (if "if") (parenthesized_expression "((DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            )))" (( "(") (binary_expression "(DAT_0004a028 == '\0') &&\n           ((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))" (parenthesized_expression "(DAT_0004a028 == '\0')" (( "(") (binary_expression "DAT_0004a028 == '\0'" (identifier "DAT_0004a028") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            ))" (( "(") (parenthesized_expression "(*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))\n            )" (( "(") (binary_expression "*(char *)(iVar15 + 10) == '\0' ||\n            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))" (binary_expression "*(char *)(iVar15 + 10) == '\0'" (pointer_expression "*(char *)(iVar15 + 10)" (* "*") (cast_expression "(char *)(iVar15 + 10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 10)" (( "(") (binary_expression "iVar15 + 10" (identifier "iVar15") (+ "+") (number_literal "10")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (|| "||") (parenthesized_expression "((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))" (( "(") (parenthesized_expression "(*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5))" (( "(") (binary_expression "*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)" (binary_expression "*(FILE **)PTR_stderr_00049ff0 != pFVar5" (pointer_expression "*(FILE **)PTR_stderr_00049ff0" (* "*") (cast_expression "(FILE **)PTR_stderr_00049ff0" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_00049ff0"))) (!= "!=") (identifier "pFVar5")) (&& "&&") (parenthesized_expression "(*(FILE **)PTR_stdout_00049fb0 != pFVar5)" (( "(") (binary_expression "*(FILE **)PTR_stdout_00049fb0 != pFVar5" (pointer_expression "*(FILE **)PTR_stdout_00049fb0" (* "*") (cast_expression "(FILE **)PTR_stdout_00049fb0" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_00049fb0"))) (!= "!=") (identifier "pFVar5")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }\n          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);\n          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;\n          curl_mfprintf();\n          DAT_0004a029 = '\0';\n          DAT_0004a028 = '\x01';\n        }" ({ "{") (if_statement "if (DAT_0004a029 == '\0') {\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }" (if "if") (parenthesized_expression "(DAT_0004a029 == '\0')" (( "(") (binary_expression "DAT_0004a029 == '\0'" (identifier "DAT_0004a029") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];\n            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;\n            curl_mfprintf();\n          }" ({ "{") (expression_statement "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];" (assignment_expression "*(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (pointer_expression "*(undefined **)(puVar10 + -4)" (* "*") (cast_expression "(undefined **)(puVar10 + -4)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (subscript_expression "(&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)]" (parenthesized_expression "(&PTR_DAT_00048320)" (( "(") (pointer_expression "&PTR_DAT_00048320" (& "&") (identifier "PTR_DAT_00048320")) () ")")) ([ "[") (pointer_expression "*(int *)(puVar10 + 0x74)" (* "*") (cast_expression "(int *)(puVar10 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x74)" (( "(") (binary_expression "puVar10 + 0x74" (identifier "puVar10") (+ "+") (number_literal "0x74")) () ")")))) (] "]"))) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar10 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "puVar10 + 0x38" (identifier "puVar10") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0xc) = &UNK_00029095;" (assignment_expression "*(undefined **)(puVar10 + -0xc) = &UNK_00029095" (pointer_expression "*(undefined **)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined **)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "&UNK_00029095" (& "&") (identifier "UNK_00029095"))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_000152bc;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_000152bc" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_000152bc" (& "&") (identifier "UNK_000152bc"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "*(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";" (assignment_expression "*(char **)(puVar10 + -0xc) = "[%zu bytes data]\n"" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""[%zu bytes data]\n"" (" """) (string_content "[%zu bytes data]") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014ce7" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00014ce7" (& "&") (identifier "UNK_00014ce7"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" (identifier "DAT_0004a029") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "DAT_0004a028 = '\x01';" (assignment_expression "DAT_0004a028 = '\x01'" (identifier "DAT_0004a028") (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (} "}"))) (goto_statement "goto LAB_00014d00;" (goto "goto") (statement_identifier "LAB_00014d00") (; ";"))) (} "}"))) (expression_statement "DAT_0004a028 = '\0';" (assignment_expression "DAT_0004a028 = '\0'" (identifier "DAT_0004a028") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "DAT_0004a029 = bVar19;" (assignment_expression "DAT_0004a029 = bVar19" (identifier "DAT_0004a029") (= "=") (identifier "bVar19")) (; ";")) (} "}")) (else_clause "else {\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" (else "else") (compound_statement "{\n      DAT_0004a029 = '\0';\n      DAT_0004a028 = '\0';\n    }" ({ "{") (expression_statement "DAT_0004a029 = '\0';" (assignment_expression "DAT_0004a029 = '\0'" (identifier "DAT_0004a029") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "DAT_0004a028 = '\0';" (assignment_expression "DAT_0004a028 = '\0'" (identifier "DAT_0004a028") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}")))) (goto_statement "goto LAB_00014d00;" (goto "goto") (statement_identifier "LAB_00014d00") (; ";")) (} "}"))) (switch_statement "switch(*(undefined4 *)(puVar10 + 0x74)) {\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }" (switch "switch") (parenthesized_expression "(*(undefined4 *)(puVar10 + 0x74))" (( "(") (pointer_expression "*(undefined4 *)(puVar10 + 0x74)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x74)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x74)" (( "(") (binary_expression "puVar10 + 0x74" (identifier "puVar10") (+ "+") (number_literal "0x74")) () ")")))) () ")")) (compound_statement "{\n  case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;\n  case 1:\n    pcVar4 = "<= Recv header";\n    break;\n  case 2:\n    pcVar4 = "=> Send header";\n    break;\n  case 3:\n    pcVar4 = "<= Recv data";\n    break;\n  case 4:\n    pcVar4 = "=> Send data";\n    break;\n  case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;\n  case 6:\n    pcVar4 = "=> Send SSL data";\n    break;\n  default:\n    goto LAB_00014d00;\n  }" ({ "{") (case_statement "case 0:\n    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);\n    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;\n    *(char **)(puVar10 + -0xc) = "%s== Info: %s";\n    *(FILE **)(puVar10 + -0x10) = pFVar5;\n    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;\n    curl_mfprintf();\n    goto LAB_00014d00;" (case "case") (number_literal "0") (: ":") (expression_statement "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);" (assignment_expression "*(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc)" (pointer_expression "*(undefined4 *)(puVar10 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -8) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -8)" (* "*") (cast_expression "(undefined1 **)(puVar10 + -8)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "puVar10 + 0x38" (identifier "puVar10") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(char **)(puVar10 + -0xc) = "%s== Info: %s";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%s== Info: %s"" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%s== Info: %s"" (" """) (string_content "%s== Info: %s") (" """))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014fd6" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00014fd6" (& "&") (identifier "UNK_00014fd6"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00014d00;" (goto "goto") (statement_identifier "LAB_00014d00") (; ";"))) (case_statement "case 1:\n    pcVar4 = "<= Recv header";\n    break;" (case "case") (number_literal "1") (: ":") (expression_statement "pcVar4 = "<= Recv header";" (assignment_expression "pcVar4 = "<= Recv header"" (identifier "pcVar4") (= "=") (string_literal ""<= Recv header"" (" """) (string_content "<= Recv header") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 2:\n    pcVar4 = "=> Send header";\n    break;" (case "case") (number_literal "2") (: ":") (expression_statement "pcVar4 = "=> Send header";" (assignment_expression "pcVar4 = "=> Send header"" (identifier "pcVar4") (= "=") (string_literal ""=> Send header"" (" """) (string_content "=> Send header") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 3:\n    pcVar4 = "<= Recv data";\n    break;" (case "case") (number_literal "3") (: ":") (expression_statement "pcVar4 = "<= Recv data";" (assignment_expression "pcVar4 = "<= Recv data"" (identifier "pcVar4") (= "=") (string_literal ""<= Recv data"" (" """) (string_content "<= Recv data") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 4:\n    pcVar4 = "=> Send data";\n    break;" (case "case") (number_literal "4") (: ":") (expression_statement "pcVar4 = "=> Send data";" (assignment_expression "pcVar4 = "=> Send data"" (identifier "pcVar4") (= "=") (string_literal ""=> Send data"" (" """) (string_content "=> Send data") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 5:\n    pcVar4 = "<= Recv SSL data";\n    break;" (case "case") (number_literal "5") (: ":") (expression_statement "pcVar4 = "<= Recv SSL data";" (assignment_expression "pcVar4 = "<= Recv SSL data"" (identifier "pcVar4") (= "=") (string_literal ""<= Recv SSL data"" (" """) (string_content "<= Recv SSL data") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case 6:\n    pcVar4 = "=> Send SSL data";\n    break;" (case "case") (number_literal "6") (: ":") (expression_statement "pcVar4 = "=> Send SSL data";" (assignment_expression "pcVar4 = "=> Send SSL data"" (identifier "pcVar4") (= "=") (string_literal ""=> Send SSL data"" (" """) (string_content "=> Send SSL data") (" """))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    goto LAB_00014d00;" (default "default") (: ":") (goto_statement "goto LAB_00014d00;" (goto "goto") (statement_identifier "LAB_00014d00") (; ";"))) (} "}"))) (expression_statement "uVar8 = 0x40;" (assignment_expression "uVar8 = 0x40" (identifier "uVar8") (= "=") (number_literal "0x40")) (; ";")) (if_statement "if (*(int *)(puVar10 + 0x14) != 2) {\n    uVar8 = 0x10;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x14) != 2)" (( "(") (binary_expression "*(int *)(puVar10 + 0x14) != 2" (pointer_expression "*(int *)(puVar10 + 0x14)" (* "*") (cast_expression "(int *)(puVar10 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n    uVar8 = 0x10;\n  }" ({ "{") (expression_statement "uVar8 = 0x10;" (assignment_expression "uVar8 = 0x10" (identifier "uVar8") (= "=") (number_literal "0x10")) (; ";")) (} "}"))) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" (identifier "uVar13") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + 0x1c) = uVar8;" (assignment_expression "*(undefined4 *)(puVar10 + 0x1c) = uVar8" (pointer_expression "*(undefined4 *)(puVar10 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x1c)" (( "(") (binary_expression "puVar10 + 0x1c" (identifier "puVar10") (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (identifier "uVar8")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x7c)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x7c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) (; ";")) (expression_statement "*(char **)(puVar10 + -0x14) = pcVar4;" (assignment_expression "*(char **)(puVar10 + -0x14) = pcVar4" (pointer_expression "*(char **)(puVar10 + -0x14)" (* "*") (cast_expression "(char **)(puVar10 + -0x14)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (identifier "pcVar4")) (; ";")) (expression_statement "*(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;" (assignment_expression "*(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38" (pointer_expression "*(undefined1 **)(puVar10 + -0x18)" (* "*") (cast_expression "(undefined1 **)(puVar10 + -0x18)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x18)" (( "(") (binary_expression "puVar10 + -0x18" (identifier "puVar10") (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (binary_expression "puVar10 + 0x38" (identifier "puVar10") (+ "+") (number_literal "0x38"))) (; ";")) (expression_statement "*(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";" (assignment_expression "*(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n"" (pointer_expression "*(char **)(puVar10 + -0x1c)" (* "*") (cast_expression "(char **)(puVar10 + -0x1c)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x1c)" (( "(") (binary_expression "puVar10 + -0x1c" (identifier "puVar10") (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (string_literal ""%s%s, %zu bytes (0x%zx)\n"" (" """) (string_content "%s%s, %zu bytes (0x%zx)") (escape_sequence "\n") (" """))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x20) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x20) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x20)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x20)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x20)" (( "(") (binary_expression "puVar10 + -0x20" (identifier "puVar10") (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;" (assignment_expression "*(undefined **)(puVar10 + -0x24) = &UNK_00014e5c" (pointer_expression "*(undefined **)(puVar10 + -0x24)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x24)" (( "(") (binary_expression "puVar10 + -0x24" (identifier "puVar10") (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "&UNK_00014e5c" (& "&") (identifier "UNK_00014e5c"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(undefined **)(puVar10 + 0x20) = &UNK_000290d4;" (assignment_expression "*(undefined **)(puVar10 + 0x20) = &UNK_000290d4" (pointer_expression "*(undefined **)(puVar10 + 0x20)" (* "*") (cast_expression "(undefined **)(puVar10 + 0x20)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x20)" (( "(") (binary_expression "puVar10 + 0x20" (identifier "puVar10") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (pointer_expression "&UNK_000290d4" (& "&") (identifier "UNK_000290d4"))) (; ";")) (expression_statement "*(undefined **)(puVar10 + 0x24) = &UNK_000290e2;" (assignment_expression "*(undefined **)(puVar10 + 0x24) = &UNK_000290e2" (pointer_expression "*(undefined **)(puVar10 + 0x24)" (* "*") (cast_expression "(undefined **)(puVar10 + 0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x24)" (( "(") (binary_expression "puVar10 + 0x24" (identifier "puVar10") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (pointer_expression "&UNK_000290e2" (& "&") (identifier "UNK_000290e2"))) (; ";")) (if_statement "if (*(int *)(puVar10 + 0x7c) != 0) {\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x7c) != 0)" (( "(") (binary_expression "*(int *)(puVar10 + 0x7c) != 0" (pointer_expression "*(int *)(puVar10 + 0x7c)" (* "*") (cast_expression "(int *)(puVar10 + 0x7c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));\n  }" ({ "{") (do_statement "do {\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    } while (uVar13 < *(uint *)(puVar10 + 0x7c));" (do "do") (compound_statement "{\n      *(uint *)(puVar10 + -8) = uVar13;\n      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);\n      *(FILE **)(puVar10 + -0x10) = pFVar5;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;\n      curl_mfprintf();\n      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;\n      if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }\n      do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      *(FILE **)(puVar10 + -0xc) = pFVar5;\n      *(undefined4 *)(puVar10 + -0x10) = 10;\n      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;\n      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));\n      uVar13 = *(uint *)(puVar10 + 0x10);\n    }" ({ "{") (expression_statement "*(uint *)(puVar10 + -8) = uVar13;" (assignment_expression "*(uint *)(puVar10 + -8) = uVar13" (pointer_expression "*(uint *)(puVar10 + -8)" (* "*") (cast_expression "(uint *)(puVar10 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x20)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x20)" (( "(") (binary_expression "puVar10 + 0x20" (identifier "puVar10") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014e8e" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00014e8e" (& "&") (identifier "UNK_00014e8e"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;" (assignment_expression "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13" (pointer_expression "*(uint *)(puVar10 + 0x10)" (* "*") (cast_expression "(uint *)(puVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(int *)(puVar10 + 0x1c) + uVar13" (pointer_expression "*(int *)(puVar10 + 0x1c)" (* "*") (cast_expression "(int *)(puVar10 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x1c)" (( "(") (binary_expression "puVar10 + 0x1c" (identifier "puVar10") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (identifier "uVar13"))) (; ";")) (if_statement "if (*(int *)(puVar10 + 0x14) == 1) {\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x14) == 1)" (( "(") (binary_expression "*(int *)(puVar10 + 0x14) == 1" (pointer_expression "*(int *)(puVar10 + 0x14)" (* "*") (cast_expression "(int *)(puVar10 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;\n        uVar11 = uVar13;\n        do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);\n      }" ({ "{") (expression_statement "*(undefined **)(puVar10 + 0x18) = &UNK_000290dc;" (assignment_expression "*(undefined **)(puVar10 + 0x18) = &UNK_000290dc" (pointer_expression "*(undefined **)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined **)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (pointer_expression "&UNK_000290dc" (& "&") (identifier "UNK_000290dc"))) (; ";")) (expression_statement "uVar11 = uVar13;" (assignment_expression "uVar11 = uVar13" (identifier "uVar11") (= "=") (identifier "uVar13")) (; ";")) (do_statement "do {\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        } while (*(uint *)(puVar10 + 0x10) != uVar11);" (do "do") (compound_statement "{\n          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }\n          uVar11 = uVar11 + 1;\n        }" ({ "{") (if_statement "if (uVar11 < *(uint *)(puVar10 + 0x7c)) {\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }\n          else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" (if "if") (parenthesized_expression "(uVar11 < *(uint *)(puVar10 + 0x7c))" (( "(") (binary_expression "uVar11 < *(uint *)(puVar10 + 0x7c)" (identifier "uVar11") (< "<") (pointer_expression "*(uint *)(puVar10 + 0x7c)" (* "*") (cast_expression "(uint *)(puVar10 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) () ")")) (compound_statement "{\n            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);\n            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);\n            *(FILE **)(puVar10 + -0x10) = pFVar5;\n            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;\n            curl_mfprintf();\n          }" ({ "{") (expression_statement "*(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" (pointer_expression "*(uint *)(puVar10 + -8)" (* "*") (cast_expression "(uint *)(puVar10 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (binary_expression "(uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (* "*") (cast_expression "(byte *)(*(int *)(puVar10 + 0xc) + uVar11)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar10 + 0xc) + uVar11)" (( "(") (binary_expression "*(int *)(puVar10 + 0xc) + uVar11" (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (identifier "uVar11")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18)" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x18)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00015046;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00015046" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00015046" (& "&") (identifier "UNK_00015046"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" (else "else") (compound_statement "{\n            *(FILE **)(puVar10 + -4) = pFVar5;\n            *(undefined4 *)(puVar10 + -8) = 3;\n            *(undefined4 *)(puVar10 + -0xc) = 1;\n            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);\n            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;\n            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));\n          }" ({ "{") (expression_statement "*(FILE **)(puVar10 + -4) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -4) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -4)" (* "*") (cast_expression "(FILE **)(puVar10 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -8) = 3;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 3" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "3")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0xc) = 1;" (assignment_expression "*(undefined4 *)(puVar10 + -0xc) = 1" (pointer_expression "*(undefined4 *)(puVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24)" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(puVar10 + 0x24)" (* "*") (cast_expression "(undefined4 *)(puVar10 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x24)" (( "(") (binary_expression "puVar10 + 0x24" (identifier "puVar10") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_0001506a;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_0001506a" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0001506a" (& "&") (identifier "UNK_0001506a"))) (; ";")) (expression_statement "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4));" (call_expression "fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4))" (identifier "fwrite") (argument_list "(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)\n                   ,*(FILE **)(puVar10 + -4))" (( "(") (pointer_expression "*(void **)(puVar10 + -0x10)" (* "*") (cast_expression "(void **)(puVar10 + -0x10)" (( "(") (type_descriptor "void **" (primitive_type "void") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -0xc)" (* "*") (cast_expression "(size_t *)(puVar10 + -0xc)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (, ",") (pointer_expression "*(size_t *)(puVar10 + -8)" (* "*") (cast_expression "(size_t *)(puVar10 + -8)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar10 + -4)" (* "*") (cast_expression "(FILE **)(puVar10 + -4)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) () ")"))) (; ";")) (} "}")))) (expression_statement "uVar11 = uVar11 + 1;" (assignment_expression "uVar11 = uVar11 + 1" (identifier "uVar11") (= "=") (binary_expression "uVar11 + 1" (identifier "uVar11") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(uint *)(puVar10 + 0x10) != uVar11)" (( "(") (binary_expression "*(uint *)(puVar10 + 0x10) != uVar11" (pointer_expression "*(uint *)(puVar10 + 0x10)" (* "*") (cast_expression "(uint *)(puVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (identifier "uVar11")) () ")")) (; ";")) (} "}"))) (do_statement "do {\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      } while (*(uint *)(puVar10 + 0x10) != uVar11);" (do "do") (compound_statement "{\n        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;\n        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);\n        if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }\n        uVar13 = uVar11;\n      }" ({ "{") (if_statement "if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;" (if "if") (parenthesized_expression "(*(uint *)(puVar10 + 0x7c) <= uVar13)" (( "(") (binary_expression "*(uint *)(puVar10 + 0x7c) <= uVar13" (pointer_expression "*(uint *)(puVar10 + 0x7c)" (* "*") (cast_expression "(uint *)(puVar10 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")")))) (<= "<=") (identifier "uVar13")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);" (assignment_expression "bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" (identifier "bVar20") (= "=") (pointer_expression "*(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" (* "*") (cast_expression "(byte *)(*(int *)(puVar10 + 0xc) + uVar13)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar10 + 0xc) + uVar13)" (( "(") (binary_expression "*(int *)(puVar10 + 0xc) + uVar13" (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (identifier "uVar13")) () ")"))))) (; ";")) (if_statement "if (*(int *)(puVar10 + 0x14) == 2) {\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }\n        else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x14) == 2)" (( "(") (binary_expression "*(int *)(puVar10 + 0x14) == 2" (pointer_expression "*(int *)(puVar10 + 0x14)" (* "*") (cast_expression "(int *)(puVar10 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          uVar11 = uVar13 + 1;\n          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;\n          curl_mfprintf();\n          uVar11 = *(uint *)(puVar10 + 0x18);\n          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }\n        }" ({ "{") (expression_statement "uVar11 = uVar13 + 1;" (assignment_expression "uVar11 = uVar13 + 1" (identifier "uVar11") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" (if "if") (parenthesized_expression "((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd))" (( "(") (binary_expression "(uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)" (parenthesized_expression "(uVar11 < *(uint *)(puVar10 + 0x7c))" (( "(") (binary_expression "uVar11 < *(uint *)(puVar10 + 0x7c)" (identifier "uVar11") (< "<") (pointer_expression "*(uint *)(puVar10 + 0x7c)" (* "*") (cast_expression "(uint *)(puVar10 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(bVar20 == 0xd)" (( "(") (binary_expression "bVar20 == 0xd" (identifier "bVar20") (== "==") (number_literal "0xd")) () ")"))) () ")")) (compound_statement "{\n            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }\ncode_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" ({ "{") (if_statement "if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n')" (( "(") (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" (* "*") (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 1 + uVar13)" (( "(") (binary_expression "*(int *)(puVar10 + 0xc) + 1 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 1" (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "1")) (+ "+") (identifier "uVar13")) () ")")))) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;\n              break;\n            }" ({ "{") (expression_statement "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;" (assignment_expression "*(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13" (pointer_expression "*(uint *)(puVar10 + 0x10)" (* "*") (cast_expression "(uint *)(puVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "*(int *)(puVar10 + 0x14) + uVar13" (pointer_expression "*(int *)(puVar10 + 0x14)" (* "*") (cast_expression "(int *)(puVar10 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x14)" (( "(") (binary_expression "puVar10 + 0x14" (identifier "puVar10") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "uVar13"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (labeled_statement "code_r0x00014feb:\n            *(uint *)(puVar10 + 0x18) = uVar11;" (statement_identifier "code_r0x00014feb") (: ":") (expression_statement "*(uint *)(puVar10 + 0x18) = uVar11;" (assignment_expression "*(uint *)(puVar10 + 0x18) = uVar11" (pointer_expression "*(uint *)(puVar10 + 0x18)" (* "*") (cast_expression "(uint *)(puVar10 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar11")) (; ";"))) (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x2e;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x2e" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x2e")) (; ";")) (} "}")) (else_clause "else {\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" (else "else") (compound_statement "{\n            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;\n            *(uint *)(puVar10 + 0x18) = uVar11;\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" ({ "{") (if_statement "if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;" (if "if") (parenthesized_expression "(0x5f < (byte)(bVar20 - 0x20))" (( "(") (binary_expression "0x5f < (byte)(bVar20 - 0x20)" (number_literal "0x5f") (< "<") (call_expression "(byte)(bVar20 - 0x20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar20 - 0x20)" (( "(") (binary_expression "bVar20 - 0x20" (identifier "bVar20") (- "-") (number_literal "0x20")) () ")")))) () ")")) (goto_statement "goto code_r0x00014feb;" (goto "goto") (statement_identifier "code_r0x00014feb") (; ";"))) (expression_statement "*(uint *)(puVar10 + 0x18) = uVar11;" (assignment_expression "*(uint *)(puVar10 + 0x18) = uVar11" (pointer_expression "*(uint *)(puVar10 + 0x18)" (* "*") (cast_expression "(uint *)(puVar10 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "uVar11")) (; ";")) (expression_statement "*(uint *)(puVar10 + -8) = (uint)bVar20;" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)bVar20" (pointer_expression "*(uint *)(puVar10 + -8)" (* "*") (cast_expression "(uint *)(puVar10 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20"))) (; ";")) (} "}")))) (expression_statement "*(char **)(puVar10 + -0xc) = "%c";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%c"" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%c"" (" """) (string_content "%c") (" """))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f16;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f16" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00014f16" (& "&") (identifier "UNK_00014f16"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar11 = *(uint *)(puVar10 + 0x18);" (assignment_expression "uVar11 = *(uint *)(puVar10 + 0x18)" (identifier "uVar11") (= "=") (pointer_expression "*(uint *)(puVar10 + 0x18)" (* "*") (cast_expression "(uint *)(puVar10 + 0x18)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x18)" (( "(") (binary_expression "puVar10 + 0x18" (identifier "puVar10") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }" (if "if") (parenthesized_expression "(((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n'))" (( "(") (binary_expression "((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&\n             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')" (parenthesized_expression "((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r'))" (( "(") (binary_expression "(uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&\n              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')" (parenthesized_expression "(uVar13 + 2 < *(uint *)(puVar10 + 0x7c))" (( "(") (binary_expression "uVar13 + 2 < *(uint *)(puVar10 + 0x7c)" (binary_expression "uVar13 + 2" (identifier "uVar13") (+ "+") (number_literal "2")) (< "<") (pointer_expression "*(uint *)(puVar10 + 0x7c)" (* "*") (cast_expression "(uint *)(puVar10 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')" (( "(") (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" (* "*") (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 1 + uVar13)" (( "(") (binary_expression "*(int *)(puVar10 + 0xc) + 1 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 1" (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "1")) (+ "+") (identifier "uVar13")) () ")")))) (== "==") (char_literal "'\r'" (' "'") (escape_sequence "\r") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')" (( "(") (binary_expression "*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n'" (pointer_expression "*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13)" (* "*") (cast_expression "(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar10 + 0xc) + 2 + uVar13)" (( "(") (binary_expression "*(int *)(puVar10 + 0xc) + 2 + uVar13" (binary_expression "*(int *)(puVar10 + 0xc) + 2" (pointer_expression "*(int *)(puVar10 + 0xc)" (* "*") (cast_expression "(int *)(puVar10 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0xc)" (( "(") (binary_expression "puVar10 + 0xc" (identifier "puVar10") (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "2")) (+ "+") (identifier "uVar13")) () ")")))) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            *(uint *)(puVar10 + 0x10) = uVar13 + 3;\n            break;\n          }" ({ "{") (expression_statement "*(uint *)(puVar10 + 0x10) = uVar13 + 3;" (assignment_expression "*(uint *)(puVar10 + 0x10) = uVar13 + 3" (pointer_expression "*(uint *)(puVar10 + 0x10)" (* "*") (cast_expression "(uint *)(puVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (binary_expression "uVar13 + 3" (identifier "uVar13") (+ "+") (number_literal "3"))) (; ";")) (break_statement "break;" (break "break") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" (else "else") (compound_statement "{\n          if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }\n          *(char **)(puVar10 + -0xc) = "%c";\n          *(FILE **)(puVar10 + -0x10) = pFVar5;\n          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;\n          curl_mfprintf();\n          uVar11 = uVar13 + 1;\n        }" ({ "{") (if_statement "if ((byte)(bVar20 - 0x20) < 0x60) {\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }\n          else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" (if "if") (parenthesized_expression "((byte)(bVar20 - 0x20) < 0x60)" (( "(") (binary_expression "(byte)(bVar20 - 0x20) < 0x60" (call_expression "(byte)(bVar20 - 0x20)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(bVar20 - 0x20)" (( "(") (binary_expression "bVar20 - 0x20" (identifier "bVar20") (- "-") (number_literal "0x20")) () ")"))) (< "<") (number_literal "0x60")) () ")")) (compound_statement "{\n            *(uint *)(puVar10 + -8) = (uint)bVar20;\n          }" ({ "{") (expression_statement "*(uint *)(puVar10 + -8) = (uint)bVar20;" (assignment_expression "*(uint *)(puVar10 + -8) = (uint)bVar20" (pointer_expression "*(uint *)(puVar10 + -8)" (* "*") (cast_expression "(uint *)(puVar10 + -8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20"))) (; ";")) (} "}")) (else_clause "else {\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" (else "else") (compound_statement "{\n            *(undefined4 *)(puVar10 + -8) = 0x2e;\n          }" ({ "{") (expression_statement "*(undefined4 *)(puVar10 + -8) = 0x2e;" (assignment_expression "*(undefined4 *)(puVar10 + -8) = 0x2e" (pointer_expression "*(undefined4 *)(puVar10 + -8)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -8)" (( "(") (binary_expression "puVar10 + -8" (identifier "puVar10") (+ "+") (number_literal "-8")) () ")")))) (= "=") (number_literal "0x2e")) (; ";")) (} "}")))) (expression_statement "*(char **)(puVar10 + -0xc) = "%c";" (assignment_expression "*(char **)(puVar10 + -0xc) = "%c"" (pointer_expression "*(char **)(puVar10 + -0xc)" (* "*") (cast_expression "(char **)(puVar10 + -0xc)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (string_literal ""%c"" (" """) (string_content "%c") (" """))) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014ec7" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00014ec7" (& "&") (identifier "UNK_00014ec7"))) (; ";")) (expression_statement "curl_mfprintf();" (call_expression "curl_mfprintf()" (identifier "curl_mfprintf") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar11 = uVar13 + 1;" (assignment_expression "uVar11 = uVar13 + 1" (identifier "uVar11") (= "=") (binary_expression "uVar13 + 1" (identifier "uVar13") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "uVar13 = uVar11;" (assignment_expression "uVar13 = uVar11" (identifier "uVar13") (= "=") (identifier "uVar11")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(uint *)(puVar10 + 0x10) != uVar11)" (( "(") (binary_expression "*(uint *)(puVar10 + 0x10) != uVar11" (pointer_expression "*(uint *)(puVar10 + 0x10)" (* "*") (cast_expression "(uint *)(puVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (identifier "uVar11")) () ")")) (; ";")) (expression_statement "*(FILE **)(puVar10 + -0xc) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0xc) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar10 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined4 *)(puVar10 + -0x10) = 10;" (assignment_expression "*(undefined4 *)(puVar10 + -0x10) = 10" (pointer_expression "*(undefined4 *)(puVar10 + -0x10)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (number_literal "10")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f4b" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00014f4b" (& "&") (identifier "UNK_00014f4b"))) (; ";")) (expression_statement "fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));" (call_expression "fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc))" (identifier "fputc") (argument_list "(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc))" (( "(") (pointer_expression "*(int *)(puVar10 + -0x10)" (* "*") (cast_expression "(int *)(puVar10 + -0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (, ",") (pointer_expression "*(FILE **)(puVar10 + -0xc)" (* "*") (cast_expression "(FILE **)(puVar10 + -0xc)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0xc)" (( "(") (binary_expression "puVar10 + -0xc" (identifier "puVar10") (+ "+") (number_literal "-0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "uVar13 = *(uint *)(puVar10 + 0x10);" (assignment_expression "uVar13 = *(uint *)(puVar10 + 0x10)" (identifier "uVar13") (= "=") (pointer_expression "*(uint *)(puVar10 + 0x10)" (* "*") (cast_expression "(uint *)(puVar10 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x10)" (( "(") (binary_expression "puVar10 + 0x10" (identifier "puVar10") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar13 < *(uint *)(puVar10 + 0x7c))" (( "(") (binary_expression "uVar13 < *(uint *)(puVar10 + 0x7c)" (identifier "uVar13") (< "<") (pointer_expression "*(uint *)(puVar10 + 0x7c)" (* "*") (cast_expression "(uint *)(puVar10 + 0x7c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x7c)" (( "(") (binary_expression "puVar10 + 0x7c" (identifier "puVar10") (+ "+") (number_literal "0x7c")) () ")"))))) () ")")) (; ";")) (} "}"))) (expression_statement "*(FILE **)(puVar10 + -0x10) = pFVar5;" (assignment_expression "*(FILE **)(puVar10 + -0x10) = pFVar5" (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (identifier "pFVar5")) (; ";")) (expression_statement "*(undefined **)(puVar10 + -0x14) = &UNK_00014f65;" (assignment_expression "*(undefined **)(puVar10 + -0x14) = &UNK_00014f65" (pointer_expression "*(undefined **)(puVar10 + -0x14)" (* "*") (cast_expression "(undefined **)(puVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x14)" (( "(") (binary_expression "puVar10 + -0x14" (identifier "puVar10") (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_00014f65" (& "&") (identifier "UNK_00014f65"))) (; ";")) (expression_statement "fflush(*(FILE **)(puVar10 + -0x10));" (call_expression "fflush(*(FILE **)(puVar10 + -0x10))" (identifier "fflush") (argument_list "(*(FILE **)(puVar10 + -0x10))" (( "(") (pointer_expression "*(FILE **)(puVar10 + -0x10)" (* "*") (cast_expression "(FILE **)(puVar10 + -0x10)" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar10 + -0x10)" (( "(") (binary_expression "puVar10 + -0x10" (identifier "puVar10") (+ "+") (number_literal "-0x10")) () ")")))) () ")"))) (; ";")) (labeled_statement "LAB_00014d00:\n  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }" (statement_identifier "LAB_00014d00") (: ":") (if_statement "if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)" (pointer_expression "*(int *)(puVar10 + 0x4c)" (* "*") (cast_expression "(int *)(puVar10 + 0x4c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + 0x4c)" (( "(") (binary_expression "puVar10 + 0x4c" (identifier "puVar10") (+ "+") (number_literal "0x4c")) () ")")))) (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (expression_statement "*(undefined4 *)(puVar10 + -4) = 0x152d7;" (assignment_expression "*(undefined4 *)(puVar10 + -4) = 0x152d7" (pointer_expression "*(undefined4 *)(puVar10 + -4)" (* "*") (cast_expression "(undefined4 *)(puVar10 + -4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar10 + -4)" (( "(") (binary_expression "puVar10 + -4" (identifier "puVar10") (+ "+") (number_literal "-4")) () ")")))) (= "=") (number_literal "0x152d7")) (; ";")) (expression_statement "FUN_000289b0();" (call_expression "FUN_000289b0()" (identifier "FUN_000289b0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

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

int function_1(type_1 *handle,type_2 type,char *var_24,size_t var_23,void *userdata)

{
  int var_36;
  type_3 *config;
  type_4 *var_17;
  type_5 var_19;
  type_6 *__filename;
  char var_26;
  type_7 *ptVar5;
  char *pcVar6;
  type_8 var_33;
  type_4 *var_10;
  int var_11;
  type_8 var_32;
  size_t __size;
  type_6 *var_12;
  int var_25;
  type_6 *var_13;
  int var_1;
  bool var_14;
  bool var_15;
  bool bVar15;
  type_9 _Var16;
  type_6 bVar17;
  type_8 var_30;
  int var_6;
  type_10 uStack_40;
  type_11 var_5;
  char timebuf [20];
  
  bVar17 = 0;
  var_36 = *(int *)(var_1 + 0x14);
  config = *(type_3 **)((int)userdata + 0x290);
  var_17 = (type_4 *)config->errors;
  if (config->tracetime == false) {
    var_10 = (type_4 *)config->trace_stream;
    timebuf[0] = '\0';
  }
  else {
    var_2();
    if (function_1::lexical_block_12::var_3 == 0) {
      var_5 = var_4((type_11 *)0x0);
      tool_debug_cb::lexical_block_12::var_3 = 1;
      tool_debug_cb::lexical_block_12::var_7 = var_5 - var_6;
    }
    else {
      var_5 = function_1::lexical_block_12::var_7 + var_6;
    }
    ptVar5 = var_8(&var_5);
    var_9(timebuf,0x14,"%02d:%02d:%02d.%06ld ",ptVar5->tm_hour,ptVar5->tm_min,
                   ptVar5->tm_sec,uStack_40);
    var_10 = (type_4 *)config->trace_stream;
  }
  bVar15 = var_10 == (type_4 *)0x0;
  if (bVar15) {
    var_14 = false;
    __filename = (type_6 *)config->trace_dump;
    var_11 = 2;
    var_12 = &DAT_0003d16d;
    var_13 = __filename;
    do {
      if (var_11 == 0) break;
      var_11 = var_11 + -1;
      var_14 = *var_12 < *var_13;
      bVar15 = *var_12 == *var_13;
      var_12 = var_12 + (type_8)bVar17 * -2 + 1;
      var_13 = var_13 + (type_8)bVar17 * -2 + 1;
    } while (bVar15);
    var_15 = false;
    bVar15 = (!var_14 && !bVar15) == var_14;
    if (bVar15) {
      var_10 = *(type_4 **)PTR_stdout_00049fb0;
      config->trace_stream = (type_4 *)var_10;
    }
    else {
      var_11 = 2;
      var_12 = &DAT_00029189;
      var_13 = __filename;
      do {
        if (var_11 == 0) break;
        var_11 = var_11 + -1;
        var_15 = *var_12 < *var_13;
        bVar15 = *var_12 == *var_13;
        var_12 = var_12 + (type_8)bVar17 * -2 + 1;
        var_13 = var_13 + (type_8)bVar17 * -2 + 1;
      } while (bVar15);
      if ((!var_15 && !bVar15) == var_15) {
        var_10 = (type_4 *)config->errors;
        config->trace_stream = (type_4 *)var_10;
      }
      else {
        var_10 = var_16((char *)__filename,"w");
        config->trace_fopened = true;
        config->trace_stream = (type_4 *)var_10;
      }
    }
    if ((var_10 == (type_4 *)0x0) && (var_10 = var_17, var_17 == (type_4 *)0x0)) {
      var_18(config,"Failed to create/open output");
      goto switchD_00014c98_caseD_7;
    }
  }
  var_19 = config->tracetype;
  if (var_19 == var_20) {
    switch(type) {
    case CURLINFO_TEXT:
    case CURLINFO_HEADER_IN:
      if (function_1::lexical_block_13::var_28 == false) {
        var_21(var_10,&DAT_00029095,timebuf,function_1::lexical_block_13::s_infotype[type]);
      }
      var_22(var_24,var_23,1,var_10);
      _Var16 = false;
      if (var_23 != 0) {
        _Var16 = var_24[var_23 - 1] != '\n';
      }
      break;
    case CURLINFO_HEADER_OUT:
      _Var16 = false;
      if (var_23 != 0) {
        var_26 = function_1::lexical_block_13::var_28;
        if (var_23 == 1) {
          __size = 1;
          pcVar6 = var_24;
        }
        else {
          var_25 = 0;
          var_11 = 0;
          do {
            pcVar6 = var_24 + var_25;
            var_25 = var_25 + 1;
            if (*pcVar6 == '\n') {
              if (var_26 == '\0') {
                var_21(var_10,&DAT_00029095,timebuf,">");
              }
              var_22(var_24 + var_11,var_25 - var_11,1,var_10);
              var_26 = '\0';
              tool_debug_cb::lexical_block_13::var_28 = false;
              var_11 = var_25;
            }
          } while (var_23 - 1 != var_25);
          __size = var_23 - var_11;
          pcVar6 = var_24 + var_11;
        }
        if (var_26 == '\0') {
          var_21(var_10,&DAT_00029095,timebuf,">");
        }
        var_22(pcVar6,__size,1,var_10);
        _Var16 = var_24[var_23 - 1] != '\n';
      }
      break;
    case CURLINFO_DATA_IN:
    case CURLINFO_DATA_OUT:
    case CURLINFO_SSL_DATA_IN:
    case CURLINFO_SSL_DATA_OUT:
      if ((function_1::lexical_block_13::var_27 == false) &&
         ((config->isatty == false ||
          ((*(type_4 **)PTR_stderr_00049ff0 != var_10 && (*(type_4 **)PTR_stdout_00049fb0 != var_10)))))) {
        if (function_1::lexical_block_13::var_28 == false) {
          var_21(var_10,&DAT_00029095,timebuf,function_1::lexical_block_13::s_infotype[type])
          ;
        }
        var_21(var_10,"[%zu bytes data]\n",var_23);
        tool_debug_cb::lexical_block_13::var_28 = false;
        tool_debug_cb::lexical_block_13::var_27 = true;
      }
      goto switchD_00014c98_caseD_7;
    default:
      tool_debug_cb::lexical_block_13::var_28 = false;
      tool_debug_cb::lexical_block_13::var_27 = false;
      goto switchD_00014c98_caseD_7;
    }
    tool_debug_cb::lexical_block_13::var_27 = false;
    tool_debug_cb::lexical_block_13::var_28 = _Var16;
    goto switchD_00014c98_caseD_7;
  }
  switch(type) {
  case CURLINFO_TEXT:
    var_21(var_10,"%s== Info: %s",timebuf,var_24);
    goto switchD_00014c98_caseD_7;
  case CURLINFO_HEADER_IN:
    pcVar6 = "<= Recv header";
    break;
  case CURLINFO_HEADER_OUT:
    pcVar6 = "=> Send header";
    break;
  case CURLINFO_DATA_IN:
    pcVar6 = "<= Recv data";
    break;
  case CURLINFO_DATA_OUT:
    pcVar6 = "=> Send data";
    break;
  case CURLINFO_SSL_DATA_IN:
    pcVar6 = "<= Recv SSL data";
    break;
  case CURLINFO_SSL_DATA_OUT:
    pcVar6 = "=> Send SSL data";
    break;
  default:
    goto switchD_00014c98_caseD_7;
  }
  var_11 = 0x40;
  if (var_19 != var_29) {
    var_11 = 0x10;
  }
  var_30 = 0;
  var_21(var_10,"%s%s, %zu bytes (0x%zx)\n",timebuf,pcVar6,var_23,var_23);
  if (var_23 != 0) {
    do {
      var_21(var_10,"%04zx: ",var_30);
      var_33 = var_11 + var_30;
      var_32 = var_30;
      if (var_19 == var_31) {
        do {
          if (var_32 < var_23) {
            var_21(var_10,"%02x ",var_24[var_32]);
          }
          else {
            var_22(&DAT_000290e2,1,3,var_10);
          }
          var_32 = var_32 + 1;
        } while (var_33 != var_32);
      }
      do {
        if (var_23 <= var_30) break;
        var_26 = var_24[var_30];
        if (var_19 == var_29) {
          if ((var_30 + 1 < var_23) && (var_26 == '\r')) {
            if (var_24[var_30 + 1] == '\n') {
              var_33 = var_30 + 2;
              break;
            }
LAB_00014feb:
            var_26 = '.';
          }
          else if (0x5f < (type_6)(var_26 - 0x20U)) goto LAB_00014feb;
          var_21(var_10,&DAT_0003f491,var_26);
          if (((var_30 + 2 < var_23) && (var_24[var_30 + 1] == '\r')) &&
             (var_24[var_30 + 2] == '\n')) {
            var_33 = var_30 + 3;
            break;
          }
        }
        else {
          if (0x5f < (type_6)(var_26 - 0x20U)) {
            var_26 = '.';
          }
          var_21(var_10,&DAT_0003f491,var_26);
        }
        var_30 = var_30 + 1;
      } while (var_33 != var_30);
      var_30 = var_33;
      var_34(10,var_10);
    } while (var_30 < var_23);
  }
  var_35(var_10);
switchD_00014c98_caseD_7:
  if (var_36 == *(int *)(var_1 + 0x14)) {
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  var_37();
}


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

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

undefined4
MASKED(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,int param_5
            )

{
  byte *pbVar1;
  char cVar2;
  tm *ptVar3;
  char *pcVar4;
  FILE *pFVar5;
  int iVar6;
  int iVar7;
  undefined4 uVar8;
  undefined1 *puVar9;
  undefined1 *puVar10;
  uint uVar11;
  byte *pbVar12;
  uint uVar13;
  int iVar14;
  int iVar15;
  byte *pbVar16;
  int in_GS_OFFSET;
  bool bVar17;
  bool bVar18;
  bool bVar19;
  byte bVar20;
  undefined1 auStack_70 [4];
  undefined1 auStack_6c [12];
  undefined4 local_60;
  undefined4 local_5c;
  int local_48;
  undefined4 local_44 [2];
  int local_3c;
  undefined1 local_38 [4];
  undefined1 local_34;
  undefined4 local_20;
  undefined4 uStack_14;
  
  bVar20 = 0;
  uStack_14 = 0x14c29;
  puVar9 = auStack_6c;
  puVar10 = auStack_6c;
  local_60 = param_3;
  local_20 = *(undefined4 *)(in_GS_OFFSET + 0x14);
  iVar15 = *(int *)(param_5 + 0x290);
  local_5c = *(undefined4 *)(iVar15 + 0xc);
  if (*(char *)(iVar15 + 0x24) == '\0') {
    pFVar5 = *(FILE **)(iVar15 + 0x18);
    local_34 = 0;
  }
  else {
    FUN_00027ba0(local_44);
    if (DAT_0004a030 == 0) {
      local_3c = time((time_t *)0x0);
      DAT_0004a030 = 1;
      DAT_0004a02c = local_3c - local_48;
    }
    else {
      local_3c = DAT_0004a02c + local_48;
    }
    puVar10 = auStack_70;
    puVar9 = auStack_70;
    ptVar3 = localtime(&local_3c);
    curl_msnprintf(local_38,0x14,"%02d:%02d:%02d.%06ld ",ptVar3->tm_hour,ptVar3->tm_min,
                   ptVar3->tm_sec,local_44[0]);
    pFVar5 = *(FILE **)(iVar15 + 0x18);
  }
  bVar19 = pFVar5 == (FILE *)0x0;
  if (bVar19) {
    bVar17 = false;
    pbVar1 = *(byte **)(iVar15 + 0x14);
    iVar6 = 2;
    pbVar12 = &DAT_0003d16d;
    pbVar16 = pbVar1;
    do {
      if (iVar6 == 0) break;
      iVar6 = iVar6 + -1;
      bVar17 = *pbVar12 < *pbVar16;
      bVar19 = *pbVar12 == *pbVar16;
      pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;
      pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;
    } while (bVar19);
    bVar18 = false;
    bVar19 = (!bVar17 && !bVar19) == bVar17;
    if (bVar19) {
      pFVar5 = *(FILE **)PTR_stdout_00049fb0;
      *(FILE **)(iVar15 + 0x18) = pFVar5;
    }
    else {
      iVar6 = 2;
      pbVar12 = &DAT_00029189;
      pbVar16 = pbVar1;
      do {
        if (iVar6 == 0) break;
        iVar6 = iVar6 + -1;
        bVar18 = *pbVar12 < *pbVar16;
        bVar19 = *pbVar12 == *pbVar16;
        pbVar12 = pbVar12 + (uint)bVar20 * -2 + 1;
        pbVar16 = pbVar16 + (uint)bVar20 * -2 + 1;
      } while (bVar19);
      if ((!bVar18 && !bVar19) == bVar18) {
        pFVar5 = *(FILE **)(iVar15 + 0xc);
        *(FILE **)(iVar15 + 0x18) = pFVar5;
      }
      else {
        *(undefined **)(puVar10 + -0xc) = &DAT_0002a35d;
        *(byte **)(puVar10 + -0x10) = pbVar1;
        *(undefined4 *)(puVar10 + -0x14) = 0x151c0;
        pFVar5 = fopen64(*(char **)(puVar10 + -0x10),*(char **)(puVar10 + -0xc));
        *(undefined1 *)(iVar15 + 0x1c) = 1;
        *(FILE **)(iVar15 + 0x18) = pFVar5;
      }
    }
    puVar9 = puVar10;
    if ((pFVar5 == (FILE *)0x0) && (pFVar5 = *(FILE **)(puVar10 + 0x10), pFVar5 == (FILE *)0x0)) {
      *(char **)(puVar10 + -0xc) = "Failed to create/open output";
      *(int *)(puVar10 + -0x10) = iVar15;
      *(undefined4 *)(puVar10 + -0x14) = 0x14def;
      FUN_0001ed70();
      goto LAB_00014d00;
    }
  }
  puVar10 = puVar9;
  iVar6 = *(int *)(iVar15 + 0x20);
  *(int *)(puVar10 + 0x14) = iVar6;
  if (iVar6 == 3) {
    if (*(uint *)(puVar10 + 0x74) < 7) {
      switch(*(int *)(puVar10 + 0x74)) {
      case 0:
      case 1:
        if (DAT_0004a029 == '\0') {
          *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];
          *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
          *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00015279;
          curl_mfprintf();
        }
        *(FILE **)(puVar10 + -4) = pFVar5;
        *(undefined4 *)(puVar10 + -8) = 1;
        *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);
        iVar15 = *(int *)(puVar10 + 0xc);
        *(int *)(puVar10 + -0x10) = iVar15;
        *(undefined **)(puVar10 + -0x14) = &UNK_00015181;
        fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),
               *(FILE **)(puVar10 + -4));
        bVar19 = false;
        if (*(int *)(puVar10 + 0x7c) != 0) {
          bVar19 = *(char *)(iVar15 + -1 + *(int *)(puVar10 + 0x7c)) != '\n';
        }
        break;
      case 2:
        bVar19 = false;
        if (*(int *)(puVar10 + 0x7c) != 0) {
          iVar15 = *(int *)(puVar10 + 0x7c);
          cVar2 = DAT_0004a029;
          if (iVar15 == 1) {
            iVar15 = *(int *)(puVar10 + 0xc);
            iVar6 = 1;
          }
          else {
            *(FILE **)(puVar10 + 0x14) = pFVar5;
            iVar14 = 0;
            *(char **)(puVar10 + 0x18) = ">";
            iVar6 = 0;
            *(undefined1 **)(puVar10 + 0x1c) = puVar10 + 0x38;
            iVar7 = *(int *)(puVar10 + 0xc);
            do {
              pcVar4 = (char *)(iVar7 + iVar14);
              iVar14 = iVar14 + 1;
              if (*pcVar4 == '\n') {
                if (cVar2 == '\0') {
                  *(int *)(puVar10 + 0x10) = iVar7;
                  *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x18);
                  *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x1c);
                  *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
                  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x14);
                  *(undefined **)(puVar10 + -0x14) = &UNK_0001520c;
                  curl_mfprintf();
                  iVar7 = *(int *)(puVar10 + 0x10);
                }
                *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0x14);
                *(undefined4 *)(puVar10 + -8) = 1;
                *(int *)(puVar10 + -0xc) = iVar14 - iVar6;
                *(int *)(puVar10 + 0x10) = iVar7;
                *(int *)(puVar10 + -0x10) = iVar6 + iVar7;
                *(undefined **)(puVar10 + -0x14) = &UNK_00015145;
                fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),
                       *(size_t *)(puVar10 + -8),*(FILE **)(puVar10 + -4));
                cVar2 = '\0';
                iVar7 = *(int *)(puVar10 + 0x10);
                DAT_0004a029 = '\0';
                iVar6 = iVar14;
              }
            } while (iVar15 + -1 != iVar14);
            pFVar5 = *(FILE **)(puVar10 + 0x14);
            iVar15 = *(int *)(puVar10 + 0xc) + iVar6;
            iVar6 = *(int *)(puVar10 + 0x7c) - iVar6;
          }
          if (cVar2 == '\0') {
            *(char **)(puVar10 + -4) = ">";
            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
            *(FILE **)(puVar10 + -0x10) = pFVar5;
            *(undefined **)(puVar10 + -0x14) = &UNK_0001529a;
            curl_mfprintf();
          }
          *(FILE **)(puVar10 + -4) = pFVar5;
          *(undefined4 *)(puVar10 + -8) = 1;
          *(int *)(puVar10 + -0xc) = iVar6;
          *(int *)(puVar10 + -0x10) = iVar15;
          *(undefined **)(puVar10 + -0x14) = &UNK_00015241;
          fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8),
                 *(FILE **)(puVar10 + -4));
          bVar19 = *(char *)(*(int *)(puVar10 + 0xc) + -1 + *(int *)(puVar10 + 0x7c)) != '\n';
        }
        break;
      default:
        if ((DAT_0004a028 == '\0') &&
           ((*(char *)(iVar15 + 10) == '\0' ||
            ((*(FILE **)PTR_stderr_00049ff0 != pFVar5 && (*(FILE **)PTR_stdout_00049fb0 != pFVar5)))
            ))) {
          if (DAT_0004a029 == '\0') {
            *(undefined **)(puVar10 + -4) = (&PTR_DAT_00048320)[*(int *)(puVar10 + 0x74)];
            *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
            *(undefined **)(puVar10 + -0xc) = &UNK_00029095;
            *(FILE **)(puVar10 + -0x10) = pFVar5;
            *(undefined **)(puVar10 + -0x14) = &UNK_000152bc;
            curl_mfprintf();
          }
          *(undefined4 *)(puVar10 + -8) = *(undefined4 *)(puVar10 + 0x7c);
          *(char **)(puVar10 + -0xc) = "[%zu bytes data]\n";
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00014ce7;
          curl_mfprintf();
          DAT_0004a029 = '\0';
          DAT_0004a028 = '\x01';
        }
        goto LAB_00014d00;
      }
      DAT_0004a028 = '\0';
      DAT_0004a029 = bVar19;
    }
    else {
      DAT_0004a029 = '\0';
      DAT_0004a028 = '\0';
    }
    goto LAB_00014d00;
  }
  switch(*(undefined4 *)(puVar10 + 0x74)) {
  case 0:
    *(undefined4 *)(puVar10 + -4) = *(undefined4 *)(puVar10 + 0xc);
    *(undefined1 **)(puVar10 + -8) = puVar10 + 0x38;
    *(char **)(puVar10 + -0xc) = "%s== Info: %s";
    *(FILE **)(puVar10 + -0x10) = pFVar5;
    *(undefined **)(puVar10 + -0x14) = &UNK_00014fd6;
    curl_mfprintf();
    goto LAB_00014d00;
  case 1:
    pcVar4 = "<= Recv header";
    break;
  case 2:
    pcVar4 = "=> Send header";
    break;
  case 3:
    pcVar4 = "<= Recv data";
    break;
  case 4:
    pcVar4 = "=> Send data";
    break;
  case 5:
    pcVar4 = "<= Recv SSL data";
    break;
  case 6:
    pcVar4 = "=> Send SSL data";
    break;
  default:
    goto LAB_00014d00;
  }
  uVar8 = 0x40;
  if (*(int *)(puVar10 + 0x14) != 2) {
    uVar8 = 0x10;
  }
  uVar13 = 0;
  *(undefined4 *)(puVar10 + 0x1c) = uVar8;
  *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x7c);
  *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x7c);
  *(char **)(puVar10 + -0x14) = pcVar4;
  *(undefined1 **)(puVar10 + -0x18) = puVar10 + 0x38;
  *(char **)(puVar10 + -0x1c) = "%s%s, %zu bytes (0x%zx)\n";
  *(FILE **)(puVar10 + -0x20) = pFVar5;
  *(undefined **)(puVar10 + -0x24) = &UNK_00014e5c;
  curl_mfprintf();
  *(undefined **)(puVar10 + 0x20) = &UNK_000290d4;
  *(undefined **)(puVar10 + 0x24) = &UNK_000290e2;
  if (*(int *)(puVar10 + 0x7c) != 0) {
    do {
      *(uint *)(puVar10 + -8) = uVar13;
      *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x20);
      *(FILE **)(puVar10 + -0x10) = pFVar5;
      *(undefined **)(puVar10 + -0x14) = &UNK_00014e8e;
      curl_mfprintf();
      *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x1c) + uVar13;
      if (*(int *)(puVar10 + 0x14) == 1) {
        *(undefined **)(puVar10 + 0x18) = &UNK_000290dc;
        uVar11 = uVar13;
        do {
          if (uVar11 < *(uint *)(puVar10 + 0x7c)) {
            *(uint *)(puVar10 + -8) = (uint)*(byte *)(*(int *)(puVar10 + 0xc) + uVar11);
            *(undefined4 *)(puVar10 + -0xc) = *(undefined4 *)(puVar10 + 0x18);
            *(FILE **)(puVar10 + -0x10) = pFVar5;
            *(undefined **)(puVar10 + -0x14) = &UNK_00015046;
            curl_mfprintf();
          }
          else {
            *(FILE **)(puVar10 + -4) = pFVar5;
            *(undefined4 *)(puVar10 + -8) = 3;
            *(undefined4 *)(puVar10 + -0xc) = 1;
            *(undefined4 *)(puVar10 + -0x10) = *(undefined4 *)(puVar10 + 0x24);
            *(undefined **)(puVar10 + -0x14) = &UNK_0001506a;
            fwrite(*(void **)(puVar10 + -0x10),*(size_t *)(puVar10 + -0xc),*(size_t *)(puVar10 + -8)
                   ,*(FILE **)(puVar10 + -4));
          }
          uVar11 = uVar11 + 1;
        } while (*(uint *)(puVar10 + 0x10) != uVar11);
      }
      do {
        if (*(uint *)(puVar10 + 0x7c) <= uVar13) break;
        bVar20 = *(byte *)(*(int *)(puVar10 + 0xc) + uVar13);
        if (*(int *)(puVar10 + 0x14) == 2) {
          uVar11 = uVar13 + 1;
          if ((uVar11 < *(uint *)(puVar10 + 0x7c)) && (bVar20 == 0xd)) {
            if (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\n') {
              *(uint *)(puVar10 + 0x10) = *(int *)(puVar10 + 0x14) + uVar13;
              break;
            }
code_r0x00014feb:
            *(uint *)(puVar10 + 0x18) = uVar11;
            *(undefined4 *)(puVar10 + -8) = 0x2e;
          }
          else {
            if (0x5f < (byte)(bVar20 - 0x20)) goto code_r0x00014feb;
            *(uint *)(puVar10 + 0x18) = uVar11;
            *(uint *)(puVar10 + -8) = (uint)bVar20;
          }
          *(char **)(puVar10 + -0xc) = "%c";
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00014f16;
          curl_mfprintf();
          uVar11 = *(uint *)(puVar10 + 0x18);
          if (((uVar13 + 2 < *(uint *)(puVar10 + 0x7c)) &&
              (*(char *)(*(int *)(puVar10 + 0xc) + 1 + uVar13) == '\r')) &&
             (*(char *)(*(int *)(puVar10 + 0xc) + 2 + uVar13) == '\n')) {
            *(uint *)(puVar10 + 0x10) = uVar13 + 3;
            break;
          }
        }
        else {
          if ((byte)(bVar20 - 0x20) < 0x60) {
            *(uint *)(puVar10 + -8) = (uint)bVar20;
          }
          else {
            *(undefined4 *)(puVar10 + -8) = 0x2e;
          }
          *(char **)(puVar10 + -0xc) = "%c";
          *(FILE **)(puVar10 + -0x10) = pFVar5;
          *(undefined **)(puVar10 + -0x14) = &UNK_00014ec7;
          curl_mfprintf();
          uVar11 = uVar13 + 1;
        }
        uVar13 = uVar11;
      } while (*(uint *)(puVar10 + 0x10) != uVar11);
      *(FILE **)(puVar10 + -0xc) = pFVar5;
      *(undefined4 *)(puVar10 + -0x10) = 10;
      *(undefined **)(puVar10 + -0x14) = &UNK_00014f4b;
      fputc(*(int *)(puVar10 + -0x10),*(FILE **)(puVar10 + -0xc));
      uVar13 = *(uint *)(puVar10 + 0x10);
    } while (uVar13 < *(uint *)(puVar10 + 0x7c));
  }
  *(FILE **)(puVar10 + -0x10) = pFVar5;
  *(undefined **)(puVar10 + -0x14) = &UNK_00014f65;
  fflush(*(FILE **)(puVar10 + -0x10));
LAB_00014d00:
  if (*(int *)(puVar10 + 0x4c) == *(int *)(in_GS_OFFSET + 0x14)) {
    return 0;
  }
                    /* WARNING: Subroutine does not return */
  *(undefined4 *)(puVar10 + -4) = 0x152d7;
  FUN_000289b0();
}

