
/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

CURLcode socket_read(curl_socket_t fd,void *to,size_t len)

{
  char cVar1;
  undefined *puVar2;
  CURLcode CVar3;
  void *pvVar4;
  CURLcode CVar5;
  anon_union_4_2_1ffdf146_for_data aVar6;
  int iVar7;
  undefined4 uVar8;
  undefined1 *puVar9;
  Curl_easy *pCVar10;
  int iVar11;
  anon_union_4_2_1ffdf146_for_data aVar12;
  int *piVar13;
  anon_union_4_2_1ffdf146_for_data ftpcode;
  anon_union_4_2_1ffdf146_for_data aVar14;
  anon_union_4_2_1ffdf146_for_data aVar15;
  anon_union_4_2_1ffdf146_for_data aVar16;
  ssize_t *psVar17;
  anon_union_4_2_1ffdf146_for_data aVar18;
  char *pcVar19;
  int iVar20;
  anon_union_4_2_1ffdf146_for_data aVar21;
  int iVar22;
  anon_union_4_2_1ffdf146_for_data conn;
  int *piVar23;
  int iVar24;
  undefined4 *puVar25;
  undefined *puVar26;
  code *pcVar27;
  code *pcVar28;
  anon_union_4_2_1ffdf146_for_data aStack_128;
  Curl_easy *pCStack_124;
  connectdata *pcStack_120;
  int iStack_11c;
  anon_union_4_2_1ffdf146_for_data aStack_114;
  anon_union_4_2_1ffdf146_for_data aStack_110;
  anon_union_4_2_1ffdf146_for_data aStack_10c;
  anon_union_4_2_1ffdf146_for_data aStack_108;
  code *pcStack_104;
  anon_union_4_2_1ffdf146_for_data aStack_e0;
  int *piStack_dc;
  anon_union_4_2_1ffdf146_for_data aStack_d8;
  anon_union_4_2_1ffdf146_for_data aStack_d4;
  anon_union_4_2_1ffdf146_for_data aStack_d0;
  ssize_t *psStack_cc;
  undefined *puStack_c8;
  undefined4 uStack_c4;
  anon_union_4_2_1ffdf146_for_data aStack_94;
  Curl_easy *pCStack_90;
  anon_union_4_2_1ffdf146_for_data aStack_8c;
  undefined1 auStack_88 [52];
  anon_union_4_2_1ffdf146_for_data aStack_54;
  anon_union_4_2_1ffdf146_for_data aStack_50;
  anon_union_4_2_1ffdf146_for_data aStack_4c;
  curl_socket_t cStack_48;
  code *pcStack_44;
  anon_union_4_2_1ffdf146_for_data aStack_38;
  ssize_t *psStack_34;
  ssize_t nread;
  anon_union_4_2_1ffdf146_for_data local_24;
  
  puVar2 = PTR___stack_chk_guard_000a6fe0;
  local_24 = *(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0;
  do {
    while (ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,
          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK) {
      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;
    }
    len = len - nread;
    to = (void *)((int)to + nread);
  } while ((void *)len != (void *)0x0);
LAB_0003d944:
  if ((anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==
      *(anon_union_4_2_1ffdf146_for_data **)puVar2) {
    return CVar3;
  }
  pcVar27 = ftp_send_command;
  conn = local_24;
  puVar26 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  aVar15.whatever = &aStack_38;
  aVar21 = (anon_union_4_2_1ffdf146_for_data)
           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))->result;
  pCStack_90 = (Curl_easy *)0x0;
                    /* WARNING: Load size is inaccurate */
  aStack_54 = *aVar21.whatever;
  aStack_8c.whatever = aVar15.whatever;
  aStack_50 = (anon_union_4_2_1ffdf146_for_data)len;
  aStack_4c.whatever = to;
  cStack_48 = fd;
  pcStack_44 = pcVar27;
  aStack_38 = aVar14;
  psStack_34 = psVar17;
  (**(code **)(puVar26 + 0x69494))(auStack_88,0x32);
  aVar14.whatever = auStack_88;
  CVar3 = Curl_ftpsend(conn.result,auStack_88);
  if (CVar3 == CURLE_OK) {
    ftpcode.whatever = &aStack_94;
    aVar14 = conn;
    CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result);
    if (CVar3 != CURLE_OK) goto LAB_0003da14;
  }
  else {
LAB_0003da14:
    aStack_94.whatever = &DAT_ffffffff;
  }
                    /* WARNING: Load size is inaccurate */
  if ((anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever == *aVar21.whatever) {
    return (CURLcode)aStack_94.whatever;
  }
  pcVar27 = *(code **)(puVar26 + 0x692c4);
  aVar12 = aStack_54;
  (*pcVar27)();
  pvVar4 = ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))->whatever;
  puVar25 = *(undefined4 **)(pcVar27 + 0x69574);
  aVar14.whatever =
       (anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED) +
       (int)(aVar14.result + CURLE_SSL_CRL_BADFILE);
  uStack_c4 = 0x51;
  piStack_dc = (int *)*puVar25;
                    /* WARNING: Load size is inaccurate */
  CVar3 = *aVar14.whatever;
  puStack_c8 = puVar2;
  *(undefined4 *)(puVar26 + 0x70780) = 0;
  aVar18.whatever = auStack_88;
  aStack_d8.whatever = auStack_88;
  aStack_d4 = aVar21;
  aStack_d0 = conn;
  psStack_cc = &nread;
  if ((pvVar4 == (void *)0x0) ||
     (aVar18 = aVar12,
     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)) {
    aVar14 = ftpcode;
    aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3);
    aVar16 = aVar15;
    aVar12 = aVar18;
  }
  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {
    aVar21.whatever =
         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -
         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;
    aVar14.whatever =
         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +
         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;
    if (aVar15.whatever < aVar21.whatever) {
      aVar21 = aVar15;
    }
    aVar16 = aVar21;
    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);
    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;
    conn.whatever = aVar15.whatever - aVar21.whatever;
    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =
         (undefined1 *)
         ((int)aVar21.whatever +
         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);
    aVar6 = aVar21;
    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0
       ) {
      do {
        aVar16.result = CURLE_NOT_BUILT_IN;
        aVar14.whatever = &aStack_e0;
        CVar5 = socket_read(CVar3,&aStack_e0,4);
        if ((CVar5 != CURLE_OK) ||
           (aVar14 = aStack_e0,
           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==
           (anon_union_4_2_1ffdf146_for_data *)0x0)) {
LAB_0003dbc0:
          aVar6.whatever = &DAT_ffffffff;
          break;
        }
        aVar15.whatever =
             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->
                              whatever,aStack_e0.result);
        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;
        aVar16 = aStack_e0;
        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==
             (anon_union_4_2_1ffdf146_for_data *)0x0) ||
           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==
             (anon_union_4_2_1ffdf146_for_data *)0x0 ||
            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,
            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;
        aVar14 = (anon_union_4_2_1ffdf146_for_data)
                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;
        aVar16 = aStack_e0;
        aVar15.whatever =
             (void *)(*((Curl_sec_client_mech *)
                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->
                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->
                               whatever,aVar14.whatever,aStack_e0.result,
                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result
                               ,aVar12.whatever);
        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;
        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;
        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==
            (anon_union_4_2_1ffdf146_for_data *)0x0) {
          aVar6 = aVar21;
          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=
              (anon_union_4_2_1ffdf146_for_data *)0x0) {
            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =
                 CURLE_UNSUPPORTED_PROTOCOL;
          }
          break;
        }
        aVar21.result = aVar15.result;
        if (conn.whatever <= aVar15.whatever) {
          aVar21 = conn;
        }
        aVar14 = (anon_union_4_2_1ffdf146_for_data)
                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;
        aVar16 = aVar21;
        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);
        conn.whatever = conn.whatever - aVar21.whatever;
        aVar6.whatever = aVar6.whatever + aVar21.whatever;
        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;
        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =
             (undefined1 *)
             ((int)aVar21.whatever +
             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);
      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=
               (anon_union_4_2_1ffdf146_for_data *)0x0);
    }
  }
  else {
    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;
    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;
    aVar16 = ftpcode;
  }
  if (piStack_dc == (int *)*puVar25) {
    return (CURLcode)aVar6.whatever;
  }
  pcVar27 = *(code **)(pcVar27 + 0x691e8);
  pcVar28 = Curl_sec_read_msg;
  piVar13 = piStack_dc;
  (*pcVar27)();
  piVar23 = *(int **)(pcVar27 + 0x6931c);
  pCStack_124 = (Curl_easy *)0x0;
  pcStack_120 = (connectdata *)0x0;
  iStack_11c = *piVar23;
  aVar15 = aVar14;
  aStack_114 = aVar12;
  aStack_110 = aVar21;
  aStack_10c = conn;
  aStack_108 = ftpcode;
  pcStack_104 = pcVar28;
  if (piVar13[0xbd] != 0) {
    aVar15.whatever = &aStack_128;
    iVar7 = (**(code **)(pcVar27 + 0x68920))
                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),
                       aVar15.whatever,&pcStack_120);
    if ((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)) {
      if (-1 < (int)pcStack_120) {
        uVar8 = (**(code **)(pcVar27 + 0x68860))();
        aVar15 = aStack_128;
        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))
                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);
        if (0 < iVar7) {
          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);
          if (*(char *)(*piVar13 + 0x958) != '\0') {
            *puVar9 = 10;
            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;
            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,
                       iVar7 + 1);
            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);
          }
          *puVar9 = 0;
          if (iVar7 < 4) {
            pCVar10 = (Curl_easy *)0x0;
          }
          else {
            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {
              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;
              cVar1 = *pcVar19;
            }
            else {
              (**(code **)(pcVar27 + 0x69020))
                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);
              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;
              cVar1 = *pcVar19;
            }
            if (cVar1 == '\n') {
              *pcVar19 = '\0';
            }
            aVar15 = aStack_128;
            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);
            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);
            pCVar10 = pCStack_124;
          }
          goto LAB_0003ddec;
        }
      }
      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);
    }
  }
  pCVar10 = (Curl_easy *)&DAT_ffffffff;
LAB_0003ddec:
  if (iStack_11c == *piVar23) {
    return (CURLcode)pCVar10;
  }
  pcVar27 = *(code **)(pcVar27 + 0x68f90);
  iVar7 = iStack_11c;
  (*pcVar27)();
  iVar22 = 0;
  iVar20 = *(int *)(pcVar27 + 0x68278);
  iVar24 = *(int *)(pcVar27 + 0x682e0) + -0x3cc0;
  iVar11 = iVar20 + 0x54c4;
  while( true ) {
    uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever);
    iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8);
    if (iVar24 != 0) {
      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);
      if (iVar11 == 0) {
        return ~CURLE_OK;
      }
      *(int *)(iVar7 + 0x2d8) = iVar11;
      return CURLE_OK;
    }
    iVar22 = iVar22 + 1;
    if (iVar22 == 4) break;
    iVar24 = *(int *)(iVar11 + 0xc);
    iVar11 = iVar11 + 8;
  }
  return ~CURLE_OK;
}



undefined4 *******
FUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)

{
  char cVar1;
  undefined *puVar2;
  undefined4 *******pppppppuVar3;
  int iVar4;
  undefined4 ******ppppppuVar5;
  undefined4 uVar6;
  undefined1 *puVar7;
  undefined4 *******pppppppuVar8;
  int iVar9;
  undefined4 *******pppppppuVar10;
  int *piVar11;
  undefined4 *******pppppppuVar12;
  undefined4 *******pppppppuVar13;
  undefined4 *******pppppppuVar14;
  undefined4 *******pppppppuVar15;
  char *pcVar16;
  int iVar17;
  int iVar18;
  undefined4 *******pppppppuVar19;
  int *piVar20;
  int iVar21;
  undefined4 *******pppppppuVar22;
  undefined4 ******ppppppuVar23;
  undefined4 *puVar24;
  undefined *puVar25;
  code *pcVar26;
  code *pcVar27;
  undefined4 ******ppppppuStack_128;
  undefined4 ******ppppppuStack_124;
  int iStack_120;
  int iStack_11c;
  undefined4 ******ppppppuStack_114;
  undefined4 ******ppppppuStack_110;
  undefined4 ******ppppppuStack_10c;
  undefined4 ******ppppppuStack_108;
  code *pcStack_104;
  undefined4 ******ppppppuStack_f0;
  code *pcStack_e8;
  undefined4 ******ppppppuStack_e0;
  int *piStack_dc;
  undefined4 ******ppppppuStack_d8;
  undefined4 ******ppppppuStack_d4;
  undefined4 ******ppppppuStack_d0;
  int *piStack_cc;
  undefined *puStack_c8;
  undefined4 uStack_c4;
  undefined4 ******ppppppuStack_94;
  undefined4 uStack_90;
  undefined4 ******ppppppuStack_8c;
  undefined4 *****apppppuStack_88 [13];
  undefined4 ******ppppppuStack_54;
  undefined4 *****pppppuStack_50;
  undefined4 ******ppppppuStack_4c;
  undefined4 uStack_48;
  code *pcStack_44;
  undefined4 *****pppppuStack_38;
  int *piStack_34;
  int local_28;
  undefined4 ******local_24;
  
  puVar2 = PTR___stack_chk_guard_000a6fe0;
  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;
  do {
    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,
          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),
          pppppppuVar3 != (undefined4 *******)0x0) {
      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;
    }
    param_3 = (undefined4 ******)((int)param_3 - local_28);
    param_2 = (undefined4 *******)((int)param_2 + local_28);
  } while (param_3 != (undefined4 ******)0x0);
LAB_0003d944:
  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {
    return pppppppuVar3;
  }
  pcVar26 = FUN_0003d990;
  pppppppuVar19 = (undefined4 *******)local_24;
  puVar25 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;
  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);
  uStack_90 = 0;
  ppppppuStack_54 = *pppppppuVar3;
  ppppppuStack_8c = pppppppuVar13;
  pppppuStack_50 = param_3;
  ppppppuStack_4c = param_2;
  uStack_48 = param_1;
  pcStack_44 = pcVar26;
  pppppuStack_38 = ppppppuVar5;
  piStack_34 = piVar11;
  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);
  pppppppuVar12 = (undefined4 *******)apppppuStack_88;
  iVar4 = FUN_0002d378(pppppppuVar19);
  if (iVar4 == 0) {
    pppppppuVar8 = &ppppppuStack_94;
    pppppppuVar12 = pppppppuVar19;
    iVar4 = FUN_0002a2c8(&uStack_90);
    if (iVar4 != 0) goto LAB_0003da14;
  }
  else {
LAB_0003da14:
    ppppppuStack_94 = (undefined4 *******)0xffffffff;
  }
  if (ppppppuStack_54 == *pppppppuVar3) {
    return (undefined4 *******)ppppppuStack_94;
  }
  pcVar26 = *(code **)(puVar25 + 0x692c4);
  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;
  (*pcVar26)();
  pcStack_e8 = pcVar26 + 0x706a4;
  ppppppuVar5 = pppppppuVar10[0xb3];
  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);
  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;
  uStack_c4 = 0x51;
  piStack_dc = (int *)*puVar24;
  ppppppuVar23 = *pppppppuVar12;
  puStack_c8 = puVar2;
  *(undefined4 *)(puVar25 + 0x70780) = 0;
  pppppppuVar15 = (undefined4 *******)apppppuStack_88;
  ppppppuStack_d8 = apppppuStack_88;
  ppppppuStack_d4 = pppppppuVar3;
  ppppppuStack_d0 = pppppppuVar19;
  piStack_cc = &local_28;
  if ((ppppppuVar5 == (undefined4 ******)0x0) ||
     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {
    pppppppuVar12 = pppppppuVar8;
    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);
    pppppppuVar14 = pppppppuVar13;
    pppppppuVar10 = pppppppuVar15;
  }
  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {
    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);
    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);
    if (pppppppuVar13 < pppppppuVar3) {
      pppppppuVar3 = pppppppuVar13;
    }
    pppppppuVar14 = pppppppuVar3;
    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);
    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);
    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);
    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);
    pppppppuVar22 = pppppppuVar3;
    if (pppppppuVar19 != (undefined4 *******)0x0) {
      do {
        pppppppuVar14 = (undefined4 *******)0x4;
        pppppppuVar12 = &ppppppuStack_e0;
        iVar4 = FUN_0003d8c4(ppppppuVar23);
        if ((iVar4 != 0) ||
           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,
           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {
LAB_0003dbc0:
          pppppppuVar22 = (undefined4 *******)0xffffffff;
          break;
        }
        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);
        pppppppuVar10[0xb8] = pppppppuVar13;
        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;
        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||
           ((pppppppuVar13 == (undefined4 *******)0x0 ||
            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))
        goto LAB_0003dbc0;
        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];
        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;
        ppppppuStack_f0 = pppppppuVar10;
        pppppppuVar13 =
             (undefined4 *******)
             (*(code *)pppppppuVar10[0xbd][8])
                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);
        pppppppuVar10[0xba] = (undefined4 ******)0x0;
        pppppppuVar10[0xb9] = pppppppuVar13;
        if (pppppppuVar13 == (undefined4 *******)0x0) {
          pppppppuVar22 = pppppppuVar3;
          if (pppppppuVar3 != (undefined4 *******)0x0) {
            pppppppuVar10[0xbb] = (undefined4 ******)0x1;
          }
          break;
        }
        pppppppuVar3 = pppppppuVar13;
        if (pppppppuVar19 <= pppppppuVar13) {
          pppppppuVar3 = pppppppuVar19;
        }
        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];
        pppppppuVar14 = pppppppuVar3;
        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);
        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);
        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);
        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);
        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);
      } while (pppppppuVar19 != (undefined4 *******)0x0);
    }
  }
  else {
    pppppppuVar10[0xbb] = (undefined4 ******)0x0;
    pppppppuVar22 = (undefined4 *******)0x0;
    pppppppuVar14 = pppppppuVar8;
  }
  if (piStack_dc == (int *)*puVar24) {
    return pppppppuVar22;
  }
  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);
  pcVar27 = FUN_0003dcc4;
  piVar11 = piStack_dc;
  (*pcVar26)();
  piVar20 = *(int **)(pcVar26 + 0x6931c);
  ppppppuStack_124 = (undefined4 *******)0x0;
  iStack_120 = 0;
  iStack_11c = *piVar20;
  pppppppuVar13 = pppppppuVar12;
  ppppppuStack_114 = pppppppuVar10;
  ppppppuStack_110 = pppppppuVar3;
  ppppppuStack_10c = pppppppuVar19;
  ppppppuStack_108 = pppppppuVar8;
  pcStack_104 = pcVar27;
  if (piVar11[0xbd] != 0) {
    pppppppuVar13 = &ppppppuStack_128;
    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);
    if ((iVar4 == 0) && (iStack_120 != 0)) {
      if (-1 < iStack_120) {
        uVar6 = (**(code **)(pcVar26 + 0x68860))();
        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;
        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))
                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);
        if (0 < iVar4) {
          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);
          if (*(char *)(*piVar11 + 0x958) != '\0') {
            *puVar7 = 10;
            pppppppuVar13 = (undefined4 *******)0x1;
            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);
            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);
          }
          *puVar7 = 0;
          if (iVar4 < 4) {
            pppppppuVar8 = (undefined4 *******)0x0;
          }
          else {
            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {
              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);
              cVar1 = *pcVar16;
            }
            else {
              (**(code **)(pcVar26 + 0x69020))
                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);
              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);
              cVar1 = *pcVar16;
            }
            if (cVar1 == '\n') {
              *pcVar16 = '\0';
            }
            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;
            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);
            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);
            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;
          }
          goto LAB_0003ddec;
        }
      }
      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);
    }
  }
  pppppppuVar8 = (undefined4 *******)0xffffffff;
LAB_0003ddec:
  if (iStack_11c == *piVar20) {
    return pppppppuVar8;
  }
  pcVar26 = *(code **)(pcVar26 + 0x68f90);
  iVar4 = iStack_11c;
  (*pcVar26)();
  iVar18 = 0;
  iVar17 = *(int *)(pcVar26 + 0x68278);
  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;
  iVar9 = iVar17 + 0x54c4;
  while( true ) {
    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);
    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);
    if (iVar21 != 0) {
      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);
      if (iVar9 == 0) {
        return (undefined4 *******)0xffffffff;
      }
      *(int *)(iVar4 + 0x2d8) = iVar9;
      return (undefined4 *******)0x0;
    }
    iVar18 = iVar18 + 1;
    if (iVar18 == 4) break;
    iVar21 = *(int *)(iVar9 + 0xc);
    iVar9 = iVar9 + 8;
  }
  return (undefined4 *******)0xffffffff;
}


lui gp,0x7
addiu gp,gp,0x84c
addu gp,gp,t9
addiu sp,sp,-0x40
sw s4,0x34(sp)
lw s4,-0x7130(gp)
sw s5,0x38(sp)
li s5,0x51
sw s3,0x30(sp)
addiu s3,sp,0x18
sw s2,0x2c(sp)
or s2,a0,zero
sw s1,0x28(sp)
or s1,a1,zero
sw s0,0x24(sp)
or s0,a2,zero
sw gp,0x10(sp)
sw ra,0x3c(sp)
lw v0,0x0(s4)
sw v0,0x1c(sp)
lw t9,-0x7b34(gp)
or a3,s3,zero
or a2,s0,zero
or a1,s1,zero
bal 0x00025d80
_or a0,s2,zero
bne v0,zero,0x0003d974
_lw gp,0x10(sp)
lw v1,0x18(sp)
subu s0,s0,v1
bne s0,zero,0x0003d914
_addu s1,s1,v1
lw a0,0x1c(sp)
lw v1,0x0(s4)
bne a0,v1,0x0003d984
_lw ra,0x3c(sp)
lw s5,0x38(sp)
lw s4,0x34(sp)
lw s3,0x30(sp)
lw s2,0x2c(sp)
lw s1,0x28(sp)
lw s0,0x24(sp)
jr ra
_addiu sp,sp,0x40
bne v0,s5,0x0003d944
_lw t9,-0x7b34(gp)
b 0x0003d91c
_or a3,s3,zero
lw t9,-0x74bc(gp)
jalr t9
_nop
(translation_unit "undefined4 *******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}\n\n" (function_definition "undefined4 *******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}" type_identifier (pointer_declarator "*******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "*****\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "****\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "***\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "**\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "*\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (function_declarator "FUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *******param_2" type_identifier (pointer_declarator "*******param_2" * (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))))) , (parameter_declaration "undefined4 ******param_3" type_identifier (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) )))))))))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *******pppppppuVar3;" type_identifier (pointer_declarator "*******pppppppuVar3" * (pointer_declarator "******pppppppuVar3" * (pointer_declarator "*****pppppppuVar3" * (pointer_declarator "****pppppppuVar3" * (pointer_declarator "***pppppppuVar3" * (pointer_declarator "**pppppppuVar3" * (pointer_declarator "*pppppppuVar3" * identifier))))))) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 ******ppppppuVar5;" type_identifier (pointer_declarator "******ppppppuVar5" * (pointer_declarator "*****ppppppuVar5" * (pointer_declarator "****ppppppuVar5" * (pointer_declarator "***ppppppuVar5" * (pointer_declarator "**ppppppuVar5" * (pointer_declarator "*ppppppuVar5" * identifier)))))) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *******pppppppuVar8;" type_identifier (pointer_declarator "*******pppppppuVar8" * (pointer_declarator "******pppppppuVar8" * (pointer_declarator "*****pppppppuVar8" * (pointer_declarator "****pppppppuVar8" * (pointer_declarator "***pppppppuVar8" * (pointer_declarator "**pppppppuVar8" * (pointer_declarator "*pppppppuVar8" * identifier))))))) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar10;" type_identifier (pointer_declarator "*******pppppppuVar10" * (pointer_declarator "******pppppppuVar10" * (pointer_declarator "*****pppppppuVar10" * (pointer_declarator "****pppppppuVar10" * (pointer_declarator "***pppppppuVar10" * (pointer_declarator "**pppppppuVar10" * (pointer_declarator "*pppppppuVar10" * identifier))))))) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *******pppppppuVar12;" type_identifier (pointer_declarator "*******pppppppuVar12" * (pointer_declarator "******pppppppuVar12" * (pointer_declarator "*****pppppppuVar12" * (pointer_declarator "****pppppppuVar12" * (pointer_declarator "***pppppppuVar12" * (pointer_declarator "**pppppppuVar12" * (pointer_declarator "*pppppppuVar12" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar13;" type_identifier (pointer_declarator "*******pppppppuVar13" * (pointer_declarator "******pppppppuVar13" * (pointer_declarator "*****pppppppuVar13" * (pointer_declarator "****pppppppuVar13" * (pointer_declarator "***pppppppuVar13" * (pointer_declarator "**pppppppuVar13" * (pointer_declarator "*pppppppuVar13" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar14;" type_identifier (pointer_declarator "*******pppppppuVar14" * (pointer_declarator "******pppppppuVar14" * (pointer_declarator "*****pppppppuVar14" * (pointer_declarator "****pppppppuVar14" * (pointer_declarator "***pppppppuVar14" * (pointer_declarator "**pppppppuVar14" * (pointer_declarator "*pppppppuVar14" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar15;" type_identifier (pointer_declarator "*******pppppppuVar15" * (pointer_declarator "******pppppppuVar15" * (pointer_declarator "*****pppppppuVar15" * (pointer_declarator "****pppppppuVar15" * (pointer_declarator "***pppppppuVar15" * (pointer_declarator "**pppppppuVar15" * (pointer_declarator "*pppppppuVar15" * identifier))))))) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar19;" type_identifier (pointer_declarator "*******pppppppuVar19" * (pointer_declarator "******pppppppuVar19" * (pointer_declarator "*****pppppppuVar19" * (pointer_declarator "****pppppppuVar19" * (pointer_declarator "***pppppppuVar19" * (pointer_declarator "**pppppppuVar19" * (pointer_declarator "*pppppppuVar19" * identifier))))))) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar22;" type_identifier (pointer_declarator "*******pppppppuVar22" * (pointer_declarator "******pppppppuVar22" * (pointer_declarator "*****pppppppuVar22" * (pointer_declarator "****pppppppuVar22" * (pointer_declarator "***pppppppuVar22" * (pointer_declarator "**pppppppuVar22" * (pointer_declarator "*pppppppuVar22" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar23;" type_identifier (pointer_declarator "******ppppppuVar23" * (pointer_declarator "*****ppppppuVar23" * (pointer_declarator "****ppppppuVar23" * (pointer_declarator "***ppppppuVar23" * (pointer_declarator "**ppppppuVar23" * (pointer_declarator "*ppppppuVar23" * identifier)))))) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined4 ******ppppppuStack_128;" type_identifier (pointer_declarator "******ppppppuStack_128" * (pointer_declarator "*****ppppppuStack_128" * (pointer_declarator "****ppppppuStack_128" * (pointer_declarator "***ppppppuStack_128" * (pointer_declarator "**ppppppuStack_128" * (pointer_declarator "*ppppppuStack_128" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_124;" type_identifier (pointer_declarator "******ppppppuStack_124" * (pointer_declarator "*****ppppppuStack_124" * (pointer_declarator "****ppppppuStack_124" * (pointer_declarator "***ppppppuStack_124" * (pointer_declarator "**ppppppuStack_124" * (pointer_declarator "*ppppppuStack_124" * identifier)))))) ;) (declaration "int iStack_120;" primitive_type identifier ;) (declaration "int iStack_11c;" primitive_type identifier ;) (declaration "undefined4 ******ppppppuStack_114;" type_identifier (pointer_declarator "******ppppppuStack_114" * (pointer_declarator "*****ppppppuStack_114" * (pointer_declarator "****ppppppuStack_114" * (pointer_declarator "***ppppppuStack_114" * (pointer_declarator "**ppppppuStack_114" * (pointer_declarator "*ppppppuStack_114" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_110;" type_identifier (pointer_declarator "******ppppppuStack_110" * (pointer_declarator "*****ppppppuStack_110" * (pointer_declarator "****ppppppuStack_110" * (pointer_declarator "***ppppppuStack_110" * (pointer_declarator "**ppppppuStack_110" * (pointer_declarator "*ppppppuStack_110" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_10c;" type_identifier (pointer_declarator "******ppppppuStack_10c" * (pointer_declarator "*****ppppppuStack_10c" * (pointer_declarator "****ppppppuStack_10c" * (pointer_declarator "***ppppppuStack_10c" * (pointer_declarator "**ppppppuStack_10c" * (pointer_declarator "*ppppppuStack_10c" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_108;" type_identifier (pointer_declarator "******ppppppuStack_108" * (pointer_declarator "*****ppppppuStack_108" * (pointer_declarator "****ppppppuStack_108" * (pointer_declarator "***ppppppuStack_108" * (pointer_declarator "**ppppppuStack_108" * (pointer_declarator "*ppppppuStack_108" * identifier)))))) ;) (declaration "code *pcStack_104;" type_identifier (pointer_declarator "*pcStack_104" * identifier) ;) (declaration "undefined4 ******ppppppuStack_f0;" type_identifier (pointer_declarator "******ppppppuStack_f0" * (pointer_declarator "*****ppppppuStack_f0" * (pointer_declarator "****ppppppuStack_f0" * (pointer_declarator "***ppppppuStack_f0" * (pointer_declarator "**ppppppuStack_f0" * (pointer_declarator "*ppppppuStack_f0" * identifier)))))) ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "undefined4 ******ppppppuStack_e0;" type_identifier (pointer_declarator "******ppppppuStack_e0" * (pointer_declarator "*****ppppppuStack_e0" * (pointer_declarator "****ppppppuStack_e0" * (pointer_declarator "***ppppppuStack_e0" * (pointer_declarator "**ppppppuStack_e0" * (pointer_declarator "*ppppppuStack_e0" * identifier)))))) ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "undefined4 ******ppppppuStack_d8;" type_identifier (pointer_declarator "******ppppppuStack_d8" * (pointer_declarator "*****ppppppuStack_d8" * (pointer_declarator "****ppppppuStack_d8" * (pointer_declarator "***ppppppuStack_d8" * (pointer_declarator "**ppppppuStack_d8" * (pointer_declarator "*ppppppuStack_d8" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_d4;" type_identifier (pointer_declarator "******ppppppuStack_d4" * (pointer_declarator "*****ppppppuStack_d4" * (pointer_declarator "****ppppppuStack_d4" * (pointer_declarator "***ppppppuStack_d4" * (pointer_declarator "**ppppppuStack_d4" * (pointer_declarator "*ppppppuStack_d4" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_d0;" type_identifier (pointer_declarator "******ppppppuStack_d0" * (pointer_declarator "*****ppppppuStack_d0" * (pointer_declarator "****ppppppuStack_d0" * (pointer_declarator "***ppppppuStack_d0" * (pointer_declarator "**ppppppuStack_d0" * (pointer_declarator "*ppppppuStack_d0" * identifier)))))) ;) (declaration "int *piStack_cc;" primitive_type (pointer_declarator "*piStack_cc" * identifier) ;) (declaration "undefined *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined4 ******ppppppuStack_94;" type_identifier (pointer_declarator "******ppppppuStack_94" * (pointer_declarator "*****ppppppuStack_94" * (pointer_declarator "****ppppppuStack_94" * (pointer_declarator "***ppppppuStack_94" * (pointer_declarator "**ppppppuStack_94" * (pointer_declarator "*ppppppuStack_94" * identifier)))))) ;) (declaration "undefined4 uStack_90;" type_identifier identifier ;) (declaration "undefined4 ******ppppppuStack_8c;" type_identifier (pointer_declarator "******ppppppuStack_8c" * (pointer_declarator "*****ppppppuStack_8c" * (pointer_declarator "****ppppppuStack_8c" * (pointer_declarator "***ppppppuStack_8c" * (pointer_declarator "**ppppppuStack_8c" * (pointer_declarator "*ppppppuStack_8c" * identifier)))))) ;) (declaration "undefined4 *****apppppuStack_88 [13];" type_identifier (pointer_declarator "*****apppppuStack_88 [13]" * (pointer_declarator "****apppppuStack_88 [13]" * (pointer_declarator "***apppppuStack_88 [13]" * (pointer_declarator "**apppppuStack_88 [13]" * (pointer_declarator "*apppppuStack_88 [13]" * (array_declarator "apppppuStack_88 [13]" identifier [ number_literal ])))))) ;) (declaration "undefined4 ******ppppppuStack_54;" type_identifier (pointer_declarator "******ppppppuStack_54" * (pointer_declarator "*****ppppppuStack_54" * (pointer_declarator "****ppppppuStack_54" * (pointer_declarator "***ppppppuStack_54" * (pointer_declarator "**ppppppuStack_54" * (pointer_declarator "*ppppppuStack_54" * identifier)))))) ;) (declaration "undefined4 *****pppppuStack_50;" type_identifier (pointer_declarator "*****pppppuStack_50" * (pointer_declarator "****pppppuStack_50" * (pointer_declarator "***pppppuStack_50" * (pointer_declarator "**pppppuStack_50" * (pointer_declarator "*pppppuStack_50" * identifier))))) ;) (declaration "undefined4 ******ppppppuStack_4c;" type_identifier (pointer_declarator "******ppppppuStack_4c" * (pointer_declarator "*****ppppppuStack_4c" * (pointer_declarator "****ppppppuStack_4c" * (pointer_declarator "***ppppppuStack_4c" * (pointer_declarator "**ppppppuStack_4c" * (pointer_declarator "*ppppppuStack_4c" * identifier)))))) ;) (declaration "undefined4 uStack_48;" type_identifier identifier ;) (declaration "code *pcStack_44;" type_identifier (pointer_declarator "*pcStack_44" * identifier) ;) (declaration "undefined4 *****pppppuStack_38;" type_identifier (pointer_declarator "*****pppppuStack_38" * (pointer_declarator "****pppppuStack_38" * (pointer_declarator "***pppppuStack_38" * (pointer_declarator "**pppppuStack_38" * (pointer_declarator "*pppppuStack_38" * identifier))))) ;) (declaration "int *piStack_34;" primitive_type (pointer_declarator "*piStack_34" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 ******local_24;" type_identifier (pointer_declarator "******local_24" * (pointer_declarator "*****local_24" * (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))))) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(undefined4 *******)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(undefined4 *******)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (do_statement "do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);" do (compound_statement "{\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  }" { (while_statement "while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }" while (parenthesized_expression "(pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0)" ( (comma_expression "pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar8 = param_2" identifier = identifier) , (comma_expression "ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "ppppppuVar5 = param_3" identifier = identifier) , (comma_expression "piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "piVar11 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) , (comma_expression "pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1)" identifier = (cast_expression "(undefined4 *******)FUN_00025d80(param_1)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_00025d80(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) , (binary_expression "pppppppuVar3 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)))))) )) (compound_statement "{\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }" { (if_statement "if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;" if (parenthesized_expression "(pppppppuVar3 != (undefined4 *******)0x51)" ( (binary_expression "pppppppuVar3 != (undefined4 *******)0x51" identifier != (cast_expression "(undefined4 *******)0x51" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0003d944;" goto statement_identifier ;)) })) (expression_statement "param_3 = (undefined4 ******)((int)param_3 - local_28);" (assignment_expression "param_3 = (undefined4 ******)((int)param_3 - local_28)" identifier = (cast_expression "(undefined4 ******)((int)param_3 - local_28)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_3 - local_28)" ( (binary_expression "(int)param_3 - local_28" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "param_2 = (undefined4 *******)((int)param_2 + local_28);" (assignment_expression "param_2 = (undefined4 *******)((int)param_2 + local_28)" identifier = (cast_expression "(undefined4 *******)((int)param_2 + local_28)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + local_28)" ( (binary_expression "(int)param_2 + local_28" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(param_3 != (undefined4 ******)0x0)" ( (binary_expression "param_3 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (labeled_statement "LAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }" statement_identifier : (if_statement "if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }" if (parenthesized_expression "((undefined4 *******)local_24 == *(undefined4 ********)puVar2)" ( (binary_expression "(undefined4 *******)local_24 == *(undefined4 ********)puVar2" (cast_expression "(undefined4 *******)local_24" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (pointer_expression "*(undefined4 ********)puVar2" * (cast_expression "(undefined4 ********)puVar2" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) identifier))) )) (compound_statement "{\n    return pppppppuVar3;\n  }" { (return_statement "return pppppppuVar3;" return identifier ;) }))) (expression_statement "pcVar26 = FUN_0003d990;" (assignment_expression "pcVar26 = FUN_0003d990" identifier = identifier) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)local_24;" (assignment_expression "pppppppuVar19 = (undefined4 *******)local_24" identifier = (cast_expression "(undefined4 *******)local_24" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "puVar25 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar25 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppuVar13 = (undefined4 *******)&pppppuStack_38;" (assignment_expression "pppppppuVar13 = (undefined4 *******)&pppppuStack_38" identifier = (cast_expression "(undefined4 *******)&pppppuStack_38" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&pppppuStack_38" & identifier))) ;) (expression_statement "pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);" (assignment_expression "pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650)" identifier = (pointer_expression "*(undefined4 ********)(puVar25 + 0x69650)" * (cast_expression "(undefined4 ********)(puVar25 + 0x69650)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar25 + 0x69650)" ( (binary_expression "puVar25 + 0x69650" identifier + number_literal) ))))) ;) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" identifier = number_literal) ;) (expression_statement "ppppppuStack_54 = *pppppppuVar3;" (assignment_expression "ppppppuStack_54 = *pppppppuVar3" identifier = (pointer_expression "*pppppppuVar3" * identifier)) ;) (expression_statement "ppppppuStack_8c = pppppppuVar13;" (assignment_expression "ppppppuStack_8c = pppppppuVar13" identifier = identifier) ;) (expression_statement "pppppuStack_50 = param_3;" (assignment_expression "pppppuStack_50 = param_3" identifier = identifier) ;) (expression_statement "ppppppuStack_4c = param_2;" (assignment_expression "ppppppuStack_4c = param_2" identifier = identifier) ;) (expression_statement "uStack_48 = param_1;" (assignment_expression "uStack_48 = param_1" identifier = identifier) ;) (expression_statement "pcStack_44 = pcVar26;" (assignment_expression "pcStack_44 = pcVar26" identifier = identifier) ;) (expression_statement "pppppuStack_38 = ppppppuVar5;" (assignment_expression "pppppuStack_38 = ppppppuVar5" identifier = identifier) ;) (expression_statement "piStack_34 = piVar11;" (assignment_expression "piStack_34 = piVar11" identifier = identifier) ;) (expression_statement "(**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);" (call_expression "(**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32)" (parenthesized_expression "(**(code **)(puVar25 + 0x69494))" ( (pointer_expression "**(code **)(puVar25 + 0x69494)" * (pointer_expression "*(code **)(puVar25 + 0x69494)" * (cast_expression "(code **)(puVar25 + 0x69494)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x69494)" ( (binary_expression "puVar25 + 0x69494" identifier + number_literal) ))))) )) (argument_list "(apppppuStack_88,0x32)" ( identifier , number_literal ))) ;) (expression_statement "pppppppuVar12 = (undefined4 *******)apppppuStack_88;" (assignment_expression "pppppppuVar12 = (undefined4 *******)apppppuStack_88" identifier = (cast_expression "(undefined4 *******)apppppuStack_88" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "iVar4 = FUN_0002d378(pppppppuVar19);" (assignment_expression "iVar4 = FUN_0002d378(pppppppuVar19)" identifier = (call_expression "FUN_0002d378(pppppppuVar19)" identifier (argument_list "(pppppppuVar19)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }" { (expression_statement "pppppppuVar8 = &ppppppuStack_94;" (assignment_expression "pppppppuVar8 = &ppppppuStack_94" identifier = (pointer_expression "&ppppppuStack_94" & identifier)) ;) (expression_statement "pppppppuVar12 = pppppppuVar19;" (assignment_expression "pppppppuVar12 = pppppppuVar19" identifier = identifier) ;) (expression_statement "iVar4 = FUN_0002a2c8(&uStack_90);" (assignment_expression "iVar4 = FUN_0002a2c8(&uStack_90)" identifier = (call_expression "FUN_0002a2c8(&uStack_90)" identifier (argument_list "(&uStack_90)" ( (pointer_expression "&uStack_90" & identifier) )))) ;) (if_statement "if (iVar4 != 0) goto LAB_0003da14;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003da14;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" else (compound_statement "{\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" { (labeled_statement "LAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;" statement_identifier : (expression_statement "ppppppuStack_94 = (undefined4 *******)0xffffffff;" (assignment_expression "ppppppuStack_94 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) }))) (if_statement "if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }" if (parenthesized_expression "(ppppppuStack_54 == *pppppppuVar3)" ( (binary_expression "ppppppuStack_54 == *pppppppuVar3" identifier == (pointer_expression "*pppppppuVar3" * identifier)) )) (compound_statement "{\n    return (undefined4 *******)ppppppuStack_94;\n  }" { (return_statement "return (undefined4 *******)ppppppuStack_94;" return (cast_expression "(undefined4 *******)ppppppuStack_94" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ;) })) (expression_statement "pcVar26 = *(code **)(puVar25 + 0x692c4);" (assignment_expression "pcVar26 = *(code **)(puVar25 + 0x692c4)" identifier = (pointer_expression "*(code **)(puVar25 + 0x692c4)" * (cast_expression "(code **)(puVar25 + 0x692c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x692c4)" ( (binary_expression "puVar25 + 0x692c4" identifier + number_literal) ))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)ppppppuStack_54;" (assignment_expression "pppppppuVar10 = (undefined4 *******)ppppppuStack_54" identifier = (cast_expression "(undefined4 *******)ppppppuStack_54" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar26 + 0x706a4;" (assignment_expression "pcStack_e8 = pcVar26 + 0x706a4" identifier = (binary_expression "pcVar26 + 0x706a4" identifier + number_literal)) ;) (expression_statement "ppppppuVar5 = pppppppuVar10[0xb3];" (assignment_expression "ppppppuVar5 = pppppppuVar10[0xb3]" identifier = (subscript_expression "pppppppuVar10[0xb3]" identifier [ number_literal ])) ;) (expression_statement "puVar24 = *(undefined4 **)(pcVar26 + 0x69574);" (assignment_expression "puVar24 = *(undefined4 **)(pcVar26 + 0x69574)" identifier = (pointer_expression "*(undefined4 **)(pcVar26 + 0x69574)" * (cast_expression "(undefined4 **)(pcVar26 + 0x69574)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69574)" ( (binary_expression "pcVar26 + 0x69574" identifier + number_literal) ))))) ;) (expression_statement "pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;" (assignment_expression "pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66" identifier = (binary_expression "pppppppuVar10 + (int)pppppppuVar12 + 0x66" (binary_expression "pppppppuVar10 + (int)pppppppuVar12" identifier + (cast_expression "(int)pppppppuVar12" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "uStack_c4 = 0x51;" (assignment_expression "uStack_c4 = 0x51" identifier = number_literal) ;) (expression_statement "piStack_dc = (int *)*puVar24;" (assignment_expression "piStack_dc = (int *)*puVar24" identifier = (cast_expression "(int *)*puVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar24" * identifier))) ;) (expression_statement "ppppppuVar23 = *pppppppuVar12;" (assignment_expression "ppppppuVar23 = *pppppppuVar12" identifier = (pointer_expression "*pppppppuVar12" * identifier)) ;) (expression_statement "puStack_c8 = puVar2;" (assignment_expression "puStack_c8 = puVar2" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + 0x70780) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + 0x70780) = 0" (pointer_expression "*(undefined4 *)(puVar25 + 0x70780)" * (cast_expression "(undefined4 *)(puVar25 + 0x70780)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x70780)" ( (binary_expression "puVar25 + 0x70780" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar15 = (undefined4 *******)apppppuStack_88;" (assignment_expression "pppppppuVar15 = (undefined4 *******)apppppuStack_88" identifier = (cast_expression "(undefined4 *******)apppppuStack_88" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuStack_d8 = apppppuStack_88;" (assignment_expression "ppppppuStack_d8 = apppppuStack_88" identifier = identifier) ;) (expression_statement "ppppppuStack_d4 = pppppppuVar3;" (assignment_expression "ppppppuStack_d4 = pppppppuVar3" identifier = identifier) ;) (expression_statement "ppppppuStack_d0 = pppppppuVar19;" (assignment_expression "ppppppuStack_d0 = pppppppuVar19" identifier = identifier) ;) (expression_statement "piStack_cc = &local_28;" (assignment_expression "piStack_cc = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (if_statement "if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" if (parenthesized_expression "((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1))" ( (binary_expression "(ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)" (parenthesized_expression "(ppppppuVar5 == (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar5 == (undefined4 ******)0x0" identifier == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)" ( (comma_expression "pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1" (assignment_expression "pppppppuVar15 = pppppppuVar10" identifier = identifier) , (binary_expression "pppppppuVar10[0xb5] == (undefined4 ******)0x1" (subscript_expression "pppppppuVar10[0xb5]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)0x1" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) (compound_statement "{\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }" { (expression_statement "pppppppuVar12 = pppppppuVar8;" (assignment_expression "pppppppuVar12 = pppppppuVar8" identifier = identifier) ;) (expression_statement "pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);" (assignment_expression "pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" identifier = (cast_expression "(undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68f9c))" ( (pointer_expression "**(code **)(pcVar26 + 0x68f9c)" * (pointer_expression "*(code **)(pcVar26 + 0x68f9c)" * (cast_expression "(code **)(pcVar26 + 0x68f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68f9c)" ( (binary_expression "pcVar26 + 0x68f9c" identifier + number_literal) ))))) )) (argument_list "(ppppppuVar23)" ( identifier ))))) ;) (expression_statement "pppppppuVar14 = pppppppuVar13;" (assignment_expression "pppppppuVar14 = pppppppuVar13" identifier = identifier) ;) (expression_statement "pppppppuVar10 = pppppppuVar15;" (assignment_expression "pppppppuVar10 = pppppppuVar15" identifier = identifier) ;) }) (else_clause "else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" else (if_statement "if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" if (parenthesized_expression "(pppppppuVar10[0xbb] == (undefined4 ******)0x0)" ( (binary_expression "pppppppuVar10[0xbb] == (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xbb]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }" { (expression_statement "pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);" (assignment_expression "pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" ( (binary_expression "(int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]" (cast_expression "(int)pppppppuVar10[0xb9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xb9]" identifier [ number_literal ])) - (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);" (assignment_expression "pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" ( (binary_expression "(int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]" (cast_expression "(int)pppppppuVar10[0xb8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ])) + (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]))) )))) ;) (if_statement "if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }" if (parenthesized_expression "(pppppppuVar13 < pppppppuVar3)" ( (binary_expression "pppppppuVar13 < pppppppuVar3" identifier < identifier) )) (compound_statement "{\n      pppppppuVar3 = pppppppuVar13;\n    }" { (expression_statement "pppppppuVar3 = pppppppuVar13;" (assignment_expression "pppppppuVar3 = pppppppuVar13" identifier = identifier) ;) })) (expression_statement "pppppppuVar14 = pppppppuVar3;" (assignment_expression "pppppppuVar14 = pppppppuVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar26 + 0x69480))(pppppppuVar8);" (call_expression "(**(code **)(pcVar26 + 0x69480))(pppppppuVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69480))" ( (pointer_expression "**(code **)(pcVar26 + 0x69480)" * (pointer_expression "*(code **)(pcVar26 + 0x69480)" * (cast_expression "(code **)(pcVar26 + 0x69480)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69480)" ( (binary_expression "pcVar26 + 0x69480" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar8)" ( identifier ))) ;) (expression_statement "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar8 + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar8 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);" (assignment_expression "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar13 - (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar13 - (int)pppppppuVar3" (cast_expression "(int)pppppppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar10[0xba] + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ])) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar22 = pppppppuVar3;" (assignment_expression "pppppppuVar22 = pppppppuVar3" identifier = identifier) ;) (if_statement "if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }" if (parenthesized_expression "(pppppppuVar19 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar19 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }" { (do_statement "do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);" do (compound_statement "{\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      }" { (expression_statement "pppppppuVar14 = (undefined4 *******)0x4;" (assignment_expression "pppppppuVar14 = (undefined4 *******)0x4" identifier = (cast_expression "(undefined4 *******)0x4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar12 = &ppppppuStack_e0;" (assignment_expression "pppppppuVar12 = &ppppppuStack_e0" identifier = (pointer_expression "&ppppppuStack_e0" & identifier)) ;) (expression_statement "iVar4 = FUN_0003d8c4(ppppppuVar23);" (assignment_expression "iVar4 = FUN_0003d8c4(ppppppuVar23)" identifier = (call_expression "FUN_0003d8c4(ppppppuVar23)" identifier (argument_list "(ppppppuVar23)" ( identifier )))) ;) (if_statement "if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }" if (parenthesized_expression "((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0))" ( (binary_expression "(iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" ( (comma_expression "pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (assignment_expression "pppppppuVar12 = (undefined4 *******)ppppppuStack_e0" identifier = (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (binary_expression "(undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }" { (labeled_statement "LAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;" statement_identifier : (expression_statement "pppppppuVar22 = (undefined4 *******)0xffffffff;" (assignment_expression "pppppppuVar22 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (break_statement "break;" break ;) })) (expression_statement "pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);" (assignment_expression "pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8])" identifier = (cast_expression "(undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_0004e494(pppppppuVar10[0xb8])" identifier (argument_list "(pppppppuVar10[0xb8])" ( (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppuVar10[0xb8] = pppppppuVar13;" (assignment_expression "pppppppuVar10[0xb8] = pppppppuVar13" (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;" (assignment_expression "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0" identifier = (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;" if (parenthesized_expression "(((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))" ( (binary_expression "((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)))" (parenthesized_expression "((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)))" ( (parenthesized_expression "(pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))" ( (binary_expression "pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)" (binary_expression "pppppppuVar13 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)" ( (comma_expression "iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0" (assignment_expression "iVar4 = FUN_0003d8c4(ppppppuVar23)" identifier = (call_expression "FUN_0003d8c4(ppppppuVar23)" identifier (argument_list "(ppppppuVar23)" ( identifier )))) , (comma_expression "pppppppuVar12 = pppppppuVar13, iVar4 != 0" (assignment_expression "pppppppuVar12 = pppppppuVar13" identifier = identifier) , (binary_expression "iVar4 != 0" identifier != number_literal))) ))) )) ))) )) (goto_statement "goto LAB_0003dbc0;" goto statement_identifier ;)) (expression_statement "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];" (assignment_expression "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8]" identifier = (cast_expression "(undefined4 *******)pppppppuVar10[0xb8]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;" (assignment_expression "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0" identifier = (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuStack_f0 = pppppppuVar10;" (assignment_expression "ppppppuStack_f0 = pppppppuVar10" identifier = identifier) ;) (expression_statement "pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);" (assignment_expression "pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" identifier = (cast_expression "(undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" (parenthesized_expression "(*(code *)pppppppuVar10[0xbd][8])" ( (pointer_expression "*(code *)pppppppuVar10[0xbd][8]" * (cast_expression "(code *)pppppppuVar10[0xbd][8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppppuVar10[0xbd][8]" (subscript_expression "pppppppuVar10[0xbd]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "(pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" ( (subscript_expression "pppppppuVar10[0xbc]" identifier [ number_literal ]) , identifier , identifier , (subscript_expression "pppppppuVar10[0xb5]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)0x0;" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppuVar10[0xb9] = pppppppuVar13;" (assignment_expression "pppppppuVar10[0xb9] = pppppppuVar13" (subscript_expression "pppppppuVar10[0xb9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }" if (parenthesized_expression "(pppppppuVar13 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar13 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }" { (expression_statement "pppppppuVar22 = pppppppuVar3;" (assignment_expression "pppppppuVar22 = pppppppuVar3" identifier = identifier) ;) (if_statement "if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }" if (parenthesized_expression "(pppppppuVar3 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar3 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }" { (expression_statement "pppppppuVar10[0xbb] = (undefined4 ******)0x1;" (assignment_expression "pppppppuVar10[0xbb] = (undefined4 ******)0x1" (subscript_expression "pppppppuVar10[0xbb]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x1" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) })) (break_statement "break;" break ;) })) (expression_statement "pppppppuVar3 = pppppppuVar13;" (assignment_expression "pppppppuVar3 = pppppppuVar13" identifier = identifier) ;) (if_statement "if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }" if (parenthesized_expression "(pppppppuVar19 <= pppppppuVar13)" ( (binary_expression "pppppppuVar19 <= pppppppuVar13" identifier <= identifier) )) (compound_statement "{\n          pppppppuVar3 = pppppppuVar19;\n        }" { (expression_statement "pppppppuVar3 = pppppppuVar19;" (assignment_expression "pppppppuVar3 = pppppppuVar19" identifier = identifier) ;) })) (expression_statement "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];" (assignment_expression "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8]" identifier = (cast_expression "(undefined4 *******)pppppppuVar10[0xb8]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar14 = pppppppuVar3;" (assignment_expression "pppppppuVar14 = pppppppuVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);" (call_expression "(**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8)" (parenthesized_expression "(**(code **)(pcStack_e8 + -0x7224))" ( (pointer_expression "**(code **)(pcStack_e8 + -0x7224)" * (pointer_expression "*(code **)(pcStack_e8 + -0x7224)" * (cast_expression "(code **)(pcStack_e8 + -0x7224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x7224)" ( (binary_expression "pcStack_e8 + -0x7224" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar8)" ( identifier ))) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);" (assignment_expression "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 - (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar19 - (int)pppppppuVar3" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar22 + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar22 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar8 + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar8 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar10[0xba] + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ])) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) while (parenthesized_expression "(pppppppuVar19 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar19 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) ;) })) }) (else_clause "else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" else (compound_statement "{\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" { (expression_statement "pppppppuVar10[0xbb] = (undefined4 ******)0x0;" (assignment_expression "pppppppuVar10[0xbb] = (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xbb]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppuVar22 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar22 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar14 = pppppppuVar8;" (assignment_expression "pppppppuVar14 = pppppppuVar8" identifier = identifier) ;) }))))) (if_statement "if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }" if (parenthesized_expression "(piStack_dc == (int *)*puVar24)" ( (binary_expression "piStack_dc == (int *)*puVar24" identifier == (cast_expression "(int *)*puVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar24" * identifier))) )) (compound_statement "{\n    return pppppppuVar22;\n  }" { (return_statement "return pppppppuVar22;" return identifier ;) })) (expression_statement "pcVar26 = *(code **)(pcStack_e8 + -0x74bc);" (assignment_expression "pcVar26 = *(code **)(pcStack_e8 + -0x74bc)" identifier = (pointer_expression "*(code **)(pcStack_e8 + -0x74bc)" * (cast_expression "(code **)(pcStack_e8 + -0x74bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x74bc)" ( (binary_expression "pcStack_e8 + -0x74bc" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = FUN_0003dcc4;" (assignment_expression "pcVar27 = FUN_0003dcc4" identifier = identifier) ;) (expression_statement "piVar11 = piStack_dc;" (assignment_expression "piVar11 = piStack_dc" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar20 = *(int **)(pcVar26 + 0x6931c);" (assignment_expression "piVar20 = *(int **)(pcVar26 + 0x6931c)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x6931c)" * (cast_expression "(int **)(pcVar26 + 0x6931c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x6931c)" ( (binary_expression "pcVar26 + 0x6931c" identifier + number_literal) ))))) ;) (expression_statement "ppppppuStack_124 = (undefined4 *******)0x0;" (assignment_expression "ppppppuStack_124 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "iStack_120 = 0;" (assignment_expression "iStack_120 = 0" identifier = number_literal) ;) (expression_statement "iStack_11c = *piVar20;" (assignment_expression "iStack_11c = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "pppppppuVar13 = pppppppuVar12;" (assignment_expression "pppppppuVar13 = pppppppuVar12" identifier = identifier) ;) (expression_statement "ppppppuStack_114 = pppppppuVar10;" (assignment_expression "ppppppuStack_114 = pppppppuVar10" identifier = identifier) ;) (expression_statement "ppppppuStack_110 = pppppppuVar3;" (assignment_expression "ppppppuStack_110 = pppppppuVar3" identifier = identifier) ;) (expression_statement "ppppppuStack_10c = pppppppuVar19;" (assignment_expression "ppppppuStack_10c = pppppppuVar19" identifier = identifier) ;) (expression_statement "ppppppuStack_108 = pppppppuVar8;" (assignment_expression "ppppppuStack_108 = pppppppuVar8" identifier = identifier) ;) (expression_statement "pcStack_104 = pcVar27;" (assignment_expression "pcStack_104 = pcVar27" identifier = identifier) ;) (if_statement "if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }" if (parenthesized_expression "(piVar11[0xbd] != 0)" ( (binary_expression "piVar11[0xbd] != 0" (subscript_expression "piVar11[0xbd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }" { (expression_statement "pppppppuVar13 = &ppppppuStack_128;" (assignment_expression "pppppppuVar13 = &ppppppuStack_128" identifier = (pointer_expression "&ppppppuStack_128" & identifier)) ;) (expression_statement "iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);" (assignment_expression "iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" identifier = (call_expression "(**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68920))" ( (pointer_expression "**(code **)(pcVar26 + 0x68920)" * (pointer_expression "*(code **)(pcVar26 + 0x68920)" * (cast_expression "(code **)(pcVar26 + 0x68920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68920)" ( (binary_expression "pcVar26 + 0x68920" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" ( (binary_expression "pppppppuVar12 + 1" identifier + number_literal) , identifier , (pointer_expression "&iStack_120" & identifier) )))) ;) (if_statement "if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }" if (parenthesized_expression "((iVar4 == 0) && (iStack_120 != 0))" ( (binary_expression "(iVar4 == 0) && (iStack_120 != 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iStack_120 != 0)" ( (binary_expression "iStack_120 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }" { (if_statement "if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" if (parenthesized_expression "(-1 < iStack_120)" ( (binary_expression "-1 < iStack_120" number_literal < identifier) )) (compound_statement "{\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" { (expression_statement "uVar6 = (**(code **)(pcVar26 + 0x68860))();" (assignment_expression "uVar6 = (**(code **)(pcVar26 + 0x68860))()" identifier = (call_expression "(**(code **)(pcVar26 + 0x68860))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x68860))" ( (pointer_expression "**(code **)(pcVar26 + 0x68860)" * (pointer_expression "*(code **)(pcVar26 + 0x68860)" * (cast_expression "(code **)(pcVar26 + 0x68860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68860)" ( (binary_expression "pcVar26 + 0x68860" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pppppppuVar13 = (undefined4 *******)ppppppuStack_128;" (assignment_expression "pppppppuVar13 = (undefined4 *******)ppppppuStack_128" identifier = (cast_expression "(undefined4 *******)ppppppuStack_128" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);" (assignment_expression "iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" identifier = (call_expression "(**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" (parenthesized_expression "(**(code **)(piVar11[0xbd] + 0x20))" ( (pointer_expression "**(code **)(piVar11[0xbd] + 0x20)" * (pointer_expression "*(code **)(piVar11[0xbd] + 0x20)" * (cast_expression "(code **)(piVar11[0xbd] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar11[0xbd] + 0x20)" ( (binary_expression "piVar11[0xbd] + 0x20" (subscript_expression "piVar11[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" ( (subscript_expression "piVar11[0xbc]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }" { (expression_statement "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);" (assignment_expression "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4)" identifier = (cast_expression "(undefined1 *)((int)ppppppuStack_128 + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4)" ( (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }" if (parenthesized_expression "(*(char *)(*piVar11 + 0x958) != '\0')" ( (binary_expression "*(char *)(*piVar11 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar11 + 0x958)" * (cast_expression "(char *)(*piVar11 + 0x958)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 0x958)" ( (binary_expression "*piVar11 + 0x958" (pointer_expression "*piVar11" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }" { (expression_statement "*puVar7 = 10;" (assignment_expression "*puVar7 = 10" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "pppppppuVar13 = (undefined4 *******)0x1;" (assignment_expression "pppppppuVar13 = (undefined4 *******)0x1" identifier = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);" (call_expression "FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1)" identifier (argument_list "(*piVar11,1,ppppppuStack_128,iVar4 + 1)" ( (pointer_expression "*piVar11" * identifier) , number_literal , identifier , (binary_expression "iVar4 + 1" identifier + number_literal) ))) ;) (expression_statement "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);" (assignment_expression "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4)" identifier = (cast_expression "(undefined1 *)((int)ppppppuStack_128 + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4)" ( (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (if_statement "if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" if (parenthesized_expression "(iVar4 < 4)" ( (binary_expression "iVar4 < 4" identifier < number_literal) )) (compound_statement "{\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }" { (expression_statement "pppppppuVar8 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar8 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" else (compound_statement "{\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" { (if_statement "if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" if (parenthesized_expression "(*(char *)((int)ppppppuStack_128 + 3) == '-')" ( (binary_expression "*(char *)((int)ppppppuStack_128 + 3) == '-'" (pointer_expression "*(char *)((int)ppppppuStack_128 + 3)" * (cast_expression "(char *)((int)ppppppuStack_128 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + 3)" ( (binary_expression "(int)ppppppuStack_128 + 3" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" { (expression_statement "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);" (assignment_expression "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1)" identifier = (cast_expression "(char *)((int)ppppppuStack_128 + iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4 + -1)" ( (binary_expression "(int)ppppppuStack_128 + iVar4 + -1" (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) }) (else_clause "else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" else (compound_statement "{\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" { (expression_statement "(**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);" (call_expression "(**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69020))" ( (pointer_expression "**(code **)(pcVar26 + 0x69020)" * (pointer_expression "*(code **)(pcVar26 + 0x69020)" * (cast_expression "(code **)(pcVar26 + 0x69020)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69020)" ( (binary_expression "pcVar26 + 0x69020" identifier + number_literal) ))))) )) (argument_list "(ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0x684d0) + -0x6f58" (pointer_expression "*(int *)(pcVar26 + 0x684d0)" * (cast_expression "(int *)(pcVar26 + 0x684d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x684d0)" ( (binary_expression "pcVar26 + 0x684d0" identifier + number_literal) )))) + number_literal) , (pointer_expression "&ppppppuStack_124" & identifier) ))) ;) (expression_statement "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);" (assignment_expression "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1)" identifier = (cast_expression "(char *)((int)ppppppuStack_128 + iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4 + -1)" ( (binary_expression "(int)ppppppuStack_128 + iVar4 + -1" (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) }))) (if_statement "if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }" if (parenthesized_expression "(cVar1 == '\n')" ( (binary_expression "cVar1 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              *pcVar16 = '\0';\n            }" { (expression_statement "*pcVar16 = '\0';" (assignment_expression "*pcVar16 = '\0'" (pointer_expression "*pcVar16" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "pppppppuVar13 = (undefined4 *******)ppppppuStack_128;" (assignment_expression "pppppppuVar13 = (undefined4 *******)ppppppuStack_128" identifier = (cast_expression "(undefined4 *******)ppppppuStack_128" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);" (call_expression "(**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68c90))" ( (pointer_expression "**(code **)(pcVar26 + 0x68c90)" * (pointer_expression "*(code **)(pcVar26 + 0x68c90)" * (cast_expression "(code **)(pcVar26 + 0x68c90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68c90)" ( (binary_expression "pcVar26 + 0x68c90" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar12,ppppppuStack_128)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);" (call_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(code *)**(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar26 + 0x68480)" * (pointer_expression "*(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68480)" ( (binary_expression "pcVar26 + 0x68480" identifier + number_literal) ))))))) )) (argument_list "(ppppppuStack_128)" ( identifier ))) ;) (expression_statement "pppppppuVar8 = (undefined4 *******)ppppppuStack_124;" (assignment_expression "pppppppuVar8 = (undefined4 *******)ppppppuStack_124" identifier = (cast_expression "(undefined4 *******)ppppppuStack_124" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }))) (goto_statement "goto LAB_0003ddec;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);" (call_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(code *)**(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar26 + 0x68480)" * (pointer_expression "*(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68480)" ( (binary_expression "pcVar26 + 0x68480" identifier + number_literal) ))))))) )) (argument_list "(ppppppuStack_128)" ( identifier ))) ;) })) })) (expression_statement "pppppppuVar8 = (undefined4 *******)0xffffffff;" (assignment_expression "pppppppuVar8 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (labeled_statement "LAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }" statement_identifier : (if_statement "if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }" if (parenthesized_expression "(iStack_11c == *piVar20)" ( (binary_expression "iStack_11c == *piVar20" identifier == (pointer_expression "*piVar20" * identifier)) )) (compound_statement "{\n    return pppppppuVar8;\n  }" { (return_statement "return pppppppuVar8;" return identifier ;) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x68f90);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x68f90)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x68f90)" * (cast_expression "(code **)(pcVar26 + 0x68f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68f90)" ( (binary_expression "pcVar26 + 0x68f90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = iStack_11c;" (assignment_expression "iVar4 = iStack_11c" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar17 = *(int *)(pcVar26 + 0x68278);" (assignment_expression "iVar17 = *(int *)(pcVar26 + 0x68278)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x68278)" * (cast_expression "(int *)(pcVar26 + 0x68278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x68278)" ( (binary_expression "pcVar26 + 0x68278" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;" (assignment_expression "iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0" identifier = (binary_expression "*(int *)(pcVar26 + 0x682e0) + -0x3cc0" (pointer_expression "*(int *)(pcVar26 + 0x682e0)" * (cast_expression "(int *)(pcVar26 + 0x682e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x682e0)" ( (binary_expression "pcVar26 + 0x682e0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar9 = iVar17 + 0x54c4;" (assignment_expression "iVar9 = iVar17 + 0x54c4" identifier = (binary_expression "iVar17 + 0x54c4" identifier + number_literal)) ;) (while_statement "while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }" { (expression_statement "uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);" (assignment_expression "uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13)" identifier = (call_expression "(**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68ff4))" ( (pointer_expression "**(code **)(pcVar26 + 0x68ff4)" * (pointer_expression "*(code **)(pcVar26 + 0x68ff4)" * (cast_expression "(code **)(pcVar26 + 0x68ff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68ff4)" ( (binary_expression "pcVar26 + 0x68ff4" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar13)" ( identifier )))) ;) (expression_statement "iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);" (assignment_expression "iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6)" identifier = (call_expression "(**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69084))" ( (pointer_expression "**(code **)(pcVar26 + 0x69084)" * (pointer_expression "*(code **)(pcVar26 + 0x69084)" * (cast_expression "(code **)(pcVar26 + 0x69084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69084)" ( (binary_expression "pcVar26 + 0x69084" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar13,iVar21,uVar6)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }" { (expression_statement "iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);" (assignment_expression "iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8)" identifier = (pointer_expression "*(int *)(iVar17 + 0x54c4 + iVar18 * 8)" * (cast_expression "(int *)(iVar17 + 0x54c4 + iVar18 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x54c4 + iVar18 * 8)" ( (binary_expression "iVar17 + 0x54c4 + iVar18 * 8" (binary_expression "iVar17 + 0x54c4" identifier + number_literal) + (binary_expression "iVar18 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        return (undefined4 *******)0xffffffff;\n      }" { (return_statement "return (undefined4 *******)0xffffffff;" return (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })) (expression_statement "*(int *)(iVar4 + 0x2d8) = iVar9;" (assignment_expression "*(int *)(iVar4 + 0x2d8) = iVar9" (pointer_expression "*(int *)(iVar4 + 0x2d8)" * (cast_expression "(int *)(iVar4 + 0x2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d8)" ( (binary_expression "iVar4 + 0x2d8" identifier + number_literal) )))) = identifier) ;) (return_statement "return (undefined4 *******)0x0;" return (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (if_statement "if (iVar18 == 4) break;" if (parenthesized_expression "(iVar18 == 4)" ( (binary_expression "iVar18 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = *(int *)(iVar9 + 0xc);" (assignment_expression "iVar21 = *(int *)(iVar9 + 0xc)" identifier = (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = iVar9 + 8;" (assignment_expression "iVar9 = iVar9 + 8" identifier = (binary_expression "iVar9 + 8" identifier + number_literal)) ;) })) (return_statement "return (undefined4 *******)0xffffffff;" return (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })))
(translation_unit "/* WARNING: Enum "anon_enum_32": Some values do not have unique names */\n\nCURLcode socket_read(curl_socket_t fd,void *to,size_t len)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  CURLcode CVar3;\n  void *pvVar4;\n  CURLcode CVar5;\n  anon_union_4_2_1ffdf146_for_data aVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  Curl_easy *pCVar10;\n  int iVar11;\n  anon_union_4_2_1ffdf146_for_data aVar12;\n  int *piVar13;\n  anon_union_4_2_1ffdf146_for_data ftpcode;\n  anon_union_4_2_1ffdf146_for_data aVar14;\n  anon_union_4_2_1ffdf146_for_data aVar15;\n  anon_union_4_2_1ffdf146_for_data aVar16;\n  ssize_t *psVar17;\n  anon_union_4_2_1ffdf146_for_data aVar18;\n  char *pcVar19;\n  int iVar20;\n  anon_union_4_2_1ffdf146_for_data aVar21;\n  int iVar22;\n  anon_union_4_2_1ffdf146_for_data conn;\n  int *piVar23;\n  int iVar24;\n  undefined4 *puVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  anon_union_4_2_1ffdf146_for_data aStack_128;\n  Curl_easy *pCStack_124;\n  connectdata *pcStack_120;\n  int iStack_11c;\n  anon_union_4_2_1ffdf146_for_data aStack_114;\n  anon_union_4_2_1ffdf146_for_data aStack_110;\n  anon_union_4_2_1ffdf146_for_data aStack_10c;\n  anon_union_4_2_1ffdf146_for_data aStack_108;\n  code *pcStack_104;\n  anon_union_4_2_1ffdf146_for_data aStack_e0;\n  int *piStack_dc;\n  anon_union_4_2_1ffdf146_for_data aStack_d8;\n  anon_union_4_2_1ffdf146_for_data aStack_d4;\n  anon_union_4_2_1ffdf146_for_data aStack_d0;\n  ssize_t *psStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  anon_union_4_2_1ffdf146_for_data aStack_94;\n  Curl_easy *pCStack_90;\n  anon_union_4_2_1ffdf146_for_data aStack_8c;\n  undefined1 auStack_88 [52];\n  anon_union_4_2_1ffdf146_for_data aStack_54;\n  anon_union_4_2_1ffdf146_for_data aStack_50;\n  anon_union_4_2_1ffdf146_for_data aStack_4c;\n  curl_socket_t cStack_48;\n  code *pcStack_44;\n  anon_union_4_2_1ffdf146_for_data aStack_38;\n  ssize_t *psStack_34;\n  ssize_t nread;\n  anon_union_4_2_1ffdf146_for_data local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK) {\n      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;\n    }\n    len = len - nread;\n    to = (void *)((int)to + nread);\n  } while ((void *)len != (void *)0x0);\nLAB_0003d944:\n  if ((anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==\n      *(anon_union_4_2_1ffdf146_for_data **)puVar2) {\n    return CVar3;\n  }\n  pcVar27 = ftp_send_command;\n  conn = local_24;\n  puVar26 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  aVar15.whatever = &aStack_38;\n  aVar21 = (anon_union_4_2_1ffdf146_for_data)\n           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))->result;\n  pCStack_90 = (Curl_easy *)0x0;\n                    /* WARNING: Load size is inaccurate */\n  aStack_54 = *aVar21.whatever;\n  aStack_8c.whatever = aVar15.whatever;\n  aStack_50 = (anon_union_4_2_1ffdf146_for_data)len;\n  aStack_4c.whatever = to;\n  cStack_48 = fd;\n  pcStack_44 = pcVar27;\n  aStack_38 = aVar14;\n  psStack_34 = psVar17;\n  (**(code **)(puVar26 + 0x69494))(auStack_88,0x32);\n  aVar14.whatever = auStack_88;\n  CVar3 = Curl_ftpsend(conn.result,auStack_88);\n  if (CVar3 == CURLE_OK) {\n    ftpcode.whatever = &aStack_94;\n    aVar14 = conn;\n    CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result);\n    if (CVar3 != CURLE_OK) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    aStack_94.whatever = &DAT_ffffffff;\n  }\n                    /* WARNING: Load size is inaccurate */\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever == *aVar21.whatever) {\n    return (CURLcode)aStack_94.whatever;\n  }\n  pcVar27 = *(code **)(puVar26 + 0x692c4);\n  aVar12 = aStack_54;\n  (*pcVar27)();\n  pvVar4 = ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))->whatever;\n  puVar25 = *(undefined4 **)(pcVar27 + 0x69574);\n  aVar14.whatever =\n       (anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED) +\n       (int)(aVar14.result + CURLE_SSL_CRL_BADFILE);\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar25;\n                    /* WARNING: Load size is inaccurate */\n  CVar3 = *aVar14.whatever;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar26 + 0x70780) = 0;\n  aVar18.whatever = auStack_88;\n  aStack_d8.whatever = auStack_88;\n  aStack_d4 = aVar21;\n  aStack_d0 = conn;\n  psStack_cc = &nread;\n  if ((pvVar4 == (void *)0x0) ||\n     (aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar14 = ftpcode;\n    aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3);\n    aVar16 = aVar15;\n    aVar12 = aVar18;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }\n    aVar16 = aVar21;\n    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n    conn.whatever = aVar15.whatever - aVar21.whatever;\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n    aVar6 = aVar21;\n    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }\n  if (piStack_dc == (int *)*puVar25) {\n    return (CURLcode)aVar6.whatever;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x691e8);\n  pcVar28 = Curl_sec_read_msg;\n  piVar13 = piStack_dc;\n  (*pcVar27)();\n  piVar23 = *(int **)(pcVar27 + 0x6931c);\n  pCStack_124 = (Curl_easy *)0x0;\n  pcStack_120 = (connectdata *)0x0;\n  iStack_11c = *piVar23;\n  aVar15 = aVar14;\n  aStack_114 = aVar12;\n  aStack_110 = aVar21;\n  aStack_10c = conn;\n  aStack_108 = ftpcode;\n  pcStack_104 = pcVar28;\n  if (piVar13[0xbd] != 0) {\n    aVar15.whatever = &aStack_128;\n    iVar7 = (**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120);\n    if ((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)) {\n      if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n    }\n  }\n  pCVar10 = (Curl_easy *)&DAT_ffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar23) {\n    return (CURLcode)pCVar10;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x68f90);\n  iVar7 = iStack_11c;\n  (*pcVar27)();\n  iVar22 = 0;\n  iVar20 = *(int *)(pcVar27 + 0x68278);\n  iVar24 = *(int *)(pcVar27 + 0x682e0) + -0x3cc0;\n  iVar11 = iVar20 + 0x54c4;\n  while( true ) {\n    uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever);\n    iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8);\n    if (iVar24 != 0) {\n      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);\n      if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }\n      *(int *)(iVar7 + 0x2d8) = iVar11;\n      return CURLE_OK;\n    }\n    iVar22 = iVar22 + 1;\n    if (iVar22 == 4) break;\n    iVar24 = *(int *)(iVar11 + 0xc);\n    iVar11 = iVar11 + 8;\n  }\n  return ~CURLE_OK;\n}\n\n" comment (function_definition "CURLcode socket_read(curl_socket_t fd,void *to,size_t len)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  CURLcode CVar3;\n  void *pvVar4;\n  CURLcode CVar5;\n  anon_union_4_2_1ffdf146_for_data aVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  Curl_easy *pCVar10;\n  int iVar11;\n  anon_union_4_2_1ffdf146_for_data aVar12;\n  int *piVar13;\n  anon_union_4_2_1ffdf146_for_data ftpcode;\n  anon_union_4_2_1ffdf146_for_data aVar14;\n  anon_union_4_2_1ffdf146_for_data aVar15;\n  anon_union_4_2_1ffdf146_for_data aVar16;\n  ssize_t *psVar17;\n  anon_union_4_2_1ffdf146_for_data aVar18;\n  char *pcVar19;\n  int iVar20;\n  anon_union_4_2_1ffdf146_for_data aVar21;\n  int iVar22;\n  anon_union_4_2_1ffdf146_for_data conn;\n  int *piVar23;\n  int iVar24;\n  undefined4 *puVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  anon_union_4_2_1ffdf146_for_data aStack_128;\n  Curl_easy *pCStack_124;\n  connectdata *pcStack_120;\n  int iStack_11c;\n  anon_union_4_2_1ffdf146_for_data aStack_114;\n  anon_union_4_2_1ffdf146_for_data aStack_110;\n  anon_union_4_2_1ffdf146_for_data aStack_10c;\n  anon_union_4_2_1ffdf146_for_data aStack_108;\n  code *pcStack_104;\n  anon_union_4_2_1ffdf146_for_data aStack_e0;\n  int *piStack_dc;\n  anon_union_4_2_1ffdf146_for_data aStack_d8;\n  anon_union_4_2_1ffdf146_for_data aStack_d4;\n  anon_union_4_2_1ffdf146_for_data aStack_d0;\n  ssize_t *psStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  anon_union_4_2_1ffdf146_for_data aStack_94;\n  Curl_easy *pCStack_90;\n  anon_union_4_2_1ffdf146_for_data aStack_8c;\n  undefined1 auStack_88 [52];\n  anon_union_4_2_1ffdf146_for_data aStack_54;\n  anon_union_4_2_1ffdf146_for_data aStack_50;\n  anon_union_4_2_1ffdf146_for_data aStack_4c;\n  curl_socket_t cStack_48;\n  code *pcStack_44;\n  anon_union_4_2_1ffdf146_for_data aStack_38;\n  ssize_t *psStack_34;\n  ssize_t nread;\n  anon_union_4_2_1ffdf146_for_data local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK) {\n      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;\n    }\n    len = len - nread;\n    to = (void *)((int)to + nread);\n  } while ((void *)len != (void *)0x0);\nLAB_0003d944:\n  if ((anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==\n      *(anon_union_4_2_1ffdf146_for_data **)puVar2) {\n    return CVar3;\n  }\n  pcVar27 = ftp_send_command;\n  conn = local_24;\n  puVar26 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  aVar15.whatever = &aStack_38;\n  aVar21 = (anon_union_4_2_1ffdf146_for_data)\n           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))->result;\n  pCStack_90 = (Curl_easy *)0x0;\n                    /* WARNING: Load size is inaccurate */\n  aStack_54 = *aVar21.whatever;\n  aStack_8c.whatever = aVar15.whatever;\n  aStack_50 = (anon_union_4_2_1ffdf146_for_data)len;\n  aStack_4c.whatever = to;\n  cStack_48 = fd;\n  pcStack_44 = pcVar27;\n  aStack_38 = aVar14;\n  psStack_34 = psVar17;\n  (**(code **)(puVar26 + 0x69494))(auStack_88,0x32);\n  aVar14.whatever = auStack_88;\n  CVar3 = Curl_ftpsend(conn.result,auStack_88);\n  if (CVar3 == CURLE_OK) {\n    ftpcode.whatever = &aStack_94;\n    aVar14 = conn;\n    CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result);\n    if (CVar3 != CURLE_OK) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    aStack_94.whatever = &DAT_ffffffff;\n  }\n                    /* WARNING: Load size is inaccurate */\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever == *aVar21.whatever) {\n    return (CURLcode)aStack_94.whatever;\n  }\n  pcVar27 = *(code **)(puVar26 + 0x692c4);\n  aVar12 = aStack_54;\n  (*pcVar27)();\n  pvVar4 = ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))->whatever;\n  puVar25 = *(undefined4 **)(pcVar27 + 0x69574);\n  aVar14.whatever =\n       (anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED) +\n       (int)(aVar14.result + CURLE_SSL_CRL_BADFILE);\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar25;\n                    /* WARNING: Load size is inaccurate */\n  CVar3 = *aVar14.whatever;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar26 + 0x70780) = 0;\n  aVar18.whatever = auStack_88;\n  aStack_d8.whatever = auStack_88;\n  aStack_d4 = aVar21;\n  aStack_d0 = conn;\n  psStack_cc = &nread;\n  if ((pvVar4 == (void *)0x0) ||\n     (aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar14 = ftpcode;\n    aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3);\n    aVar16 = aVar15;\n    aVar12 = aVar18;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }\n    aVar16 = aVar21;\n    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n    conn.whatever = aVar15.whatever - aVar21.whatever;\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n    aVar6 = aVar21;\n    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }\n  if (piStack_dc == (int *)*puVar25) {\n    return (CURLcode)aVar6.whatever;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x691e8);\n  pcVar28 = Curl_sec_read_msg;\n  piVar13 = piStack_dc;\n  (*pcVar27)();\n  piVar23 = *(int **)(pcVar27 + 0x6931c);\n  pCStack_124 = (Curl_easy *)0x0;\n  pcStack_120 = (connectdata *)0x0;\n  iStack_11c = *piVar23;\n  aVar15 = aVar14;\n  aStack_114 = aVar12;\n  aStack_110 = aVar21;\n  aStack_10c = conn;\n  aStack_108 = ftpcode;\n  pcStack_104 = pcVar28;\n  if (piVar13[0xbd] != 0) {\n    aVar15.whatever = &aStack_128;\n    iVar7 = (**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120);\n    if ((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)) {\n      if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n    }\n  }\n  pCVar10 = (Curl_easy *)&DAT_ffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar23) {\n    return (CURLcode)pCVar10;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x68f90);\n  iVar7 = iStack_11c;\n  (*pcVar27)();\n  iVar22 = 0;\n  iVar20 = *(int *)(pcVar27 + 0x68278);\n  iVar24 = *(int *)(pcVar27 + 0x682e0) + -0x3cc0;\n  iVar11 = iVar20 + 0x54c4;\n  while( true ) {\n    uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever);\n    iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8);\n    if (iVar24 != 0) {\n      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);\n      if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }\n      *(int *)(iVar7 + 0x2d8) = iVar11;\n      return CURLE_OK;\n    }\n    iVar22 = iVar22 + 1;\n    if (iVar22 == 4) break;\n    iVar24 = *(int *)(iVar11 + 0xc);\n    iVar11 = iVar11 + 8;\n  }\n  return ~CURLE_OK;\n}" type_identifier (function_declarator "socket_read(curl_socket_t fd,void *to,size_t len)" identifier (parameter_list "(curl_socket_t fd,void *to,size_t len)" ( (parameter_declaration "curl_socket_t fd" type_identifier identifier) , (parameter_declaration "void *to" primitive_type (pointer_declarator "*to" * identifier)) , (parameter_declaration "size_t len" primitive_type identifier) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  CURLcode CVar3;\n  void *pvVar4;\n  CURLcode CVar5;\n  anon_union_4_2_1ffdf146_for_data aVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined1 *puVar9;\n  Curl_easy *pCVar10;\n  int iVar11;\n  anon_union_4_2_1ffdf146_for_data aVar12;\n  int *piVar13;\n  anon_union_4_2_1ffdf146_for_data ftpcode;\n  anon_union_4_2_1ffdf146_for_data aVar14;\n  anon_union_4_2_1ffdf146_for_data aVar15;\n  anon_union_4_2_1ffdf146_for_data aVar16;\n  ssize_t *psVar17;\n  anon_union_4_2_1ffdf146_for_data aVar18;\n  char *pcVar19;\n  int iVar20;\n  anon_union_4_2_1ffdf146_for_data aVar21;\n  int iVar22;\n  anon_union_4_2_1ffdf146_for_data conn;\n  int *piVar23;\n  int iVar24;\n  undefined4 *puVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  anon_union_4_2_1ffdf146_for_data aStack_128;\n  Curl_easy *pCStack_124;\n  connectdata *pcStack_120;\n  int iStack_11c;\n  anon_union_4_2_1ffdf146_for_data aStack_114;\n  anon_union_4_2_1ffdf146_for_data aStack_110;\n  anon_union_4_2_1ffdf146_for_data aStack_10c;\n  anon_union_4_2_1ffdf146_for_data aStack_108;\n  code *pcStack_104;\n  anon_union_4_2_1ffdf146_for_data aStack_e0;\n  int *piStack_dc;\n  anon_union_4_2_1ffdf146_for_data aStack_d8;\n  anon_union_4_2_1ffdf146_for_data aStack_d4;\n  anon_union_4_2_1ffdf146_for_data aStack_d0;\n  ssize_t *psStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  anon_union_4_2_1ffdf146_for_data aStack_94;\n  Curl_easy *pCStack_90;\n  anon_union_4_2_1ffdf146_for_data aStack_8c;\n  undefined1 auStack_88 [52];\n  anon_union_4_2_1ffdf146_for_data aStack_54;\n  anon_union_4_2_1ffdf146_for_data aStack_50;\n  anon_union_4_2_1ffdf146_for_data aStack_4c;\n  curl_socket_t cStack_48;\n  code *pcStack_44;\n  anon_union_4_2_1ffdf146_for_data aStack_38;\n  ssize_t *psStack_34;\n  ssize_t nread;\n  anon_union_4_2_1ffdf146_for_data local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK) {\n      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;\n    }\n    len = len - nread;\n    to = (void *)((int)to + nread);\n  } while ((void *)len != (void *)0x0);\nLAB_0003d944:\n  if ((anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==\n      *(anon_union_4_2_1ffdf146_for_data **)puVar2) {\n    return CVar3;\n  }\n  pcVar27 = ftp_send_command;\n  conn = local_24;\n  puVar26 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  aVar15.whatever = &aStack_38;\n  aVar21 = (anon_union_4_2_1ffdf146_for_data)\n           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))->result;\n  pCStack_90 = (Curl_easy *)0x0;\n                    /* WARNING: Load size is inaccurate */\n  aStack_54 = *aVar21.whatever;\n  aStack_8c.whatever = aVar15.whatever;\n  aStack_50 = (anon_union_4_2_1ffdf146_for_data)len;\n  aStack_4c.whatever = to;\n  cStack_48 = fd;\n  pcStack_44 = pcVar27;\n  aStack_38 = aVar14;\n  psStack_34 = psVar17;\n  (**(code **)(puVar26 + 0x69494))(auStack_88,0x32);\n  aVar14.whatever = auStack_88;\n  CVar3 = Curl_ftpsend(conn.result,auStack_88);\n  if (CVar3 == CURLE_OK) {\n    ftpcode.whatever = &aStack_94;\n    aVar14 = conn;\n    CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result);\n    if (CVar3 != CURLE_OK) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    aStack_94.whatever = &DAT_ffffffff;\n  }\n                    /* WARNING: Load size is inaccurate */\n  if ((anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever == *aVar21.whatever) {\n    return (CURLcode)aStack_94.whatever;\n  }\n  pcVar27 = *(code **)(puVar26 + 0x692c4);\n  aVar12 = aStack_54;\n  (*pcVar27)();\n  pvVar4 = ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))->whatever;\n  puVar25 = *(undefined4 **)(pcVar27 + 0x69574);\n  aVar14.whatever =\n       (anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED) +\n       (int)(aVar14.result + CURLE_SSL_CRL_BADFILE);\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar25;\n                    /* WARNING: Load size is inaccurate */\n  CVar3 = *aVar14.whatever;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar26 + 0x70780) = 0;\n  aVar18.whatever = auStack_88;\n  aStack_d8.whatever = auStack_88;\n  aStack_d4 = aVar21;\n  aStack_d0 = conn;\n  psStack_cc = &nread;\n  if ((pvVar4 == (void *)0x0) ||\n     (aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar14 = ftpcode;\n    aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3);\n    aVar16 = aVar15;\n    aVar12 = aVar18;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }\n    aVar16 = aVar21;\n    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n    conn.whatever = aVar15.whatever - aVar21.whatever;\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n    aVar6 = aVar21;\n    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }\n  if (piStack_dc == (int *)*puVar25) {\n    return (CURLcode)aVar6.whatever;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x691e8);\n  pcVar28 = Curl_sec_read_msg;\n  piVar13 = piStack_dc;\n  (*pcVar27)();\n  piVar23 = *(int **)(pcVar27 + 0x6931c);\n  pCStack_124 = (Curl_easy *)0x0;\n  pcStack_120 = (connectdata *)0x0;\n  iStack_11c = *piVar23;\n  aVar15 = aVar14;\n  aStack_114 = aVar12;\n  aStack_110 = aVar21;\n  aStack_10c = conn;\n  aStack_108 = ftpcode;\n  pcStack_104 = pcVar28;\n  if (piVar13[0xbd] != 0) {\n    aVar15.whatever = &aStack_128;\n    iVar7 = (**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120);\n    if ((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)) {\n      if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n    }\n  }\n  pCVar10 = (Curl_easy *)&DAT_ffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar23) {\n    return (CURLcode)pCVar10;\n  }\n  pcVar27 = *(code **)(pcVar27 + 0x68f90);\n  iVar7 = iStack_11c;\n  (*pcVar27)();\n  iVar22 = 0;\n  iVar20 = *(int *)(pcVar27 + 0x68278);\n  iVar24 = *(int *)(pcVar27 + 0x682e0) + -0x3cc0;\n  iVar11 = iVar20 + 0x54c4;\n  while( true ) {\n    uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever);\n    iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8);\n    if (iVar24 != 0) {\n      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);\n      if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }\n      *(int *)(iVar7 + 0x2d8) = iVar11;\n      return CURLE_OK;\n    }\n    iVar22 = iVar22 + 1;\n    if (iVar22 == 4) break;\n    iVar24 = *(int *)(iVar11 + 0xc);\n    iVar11 = iVar11 + 8;\n  }\n  return ~CURLE_OK;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "CURLcode CVar3;" type_identifier identifier ;) (declaration "void *pvVar4;" primitive_type (pointer_declarator "*pvVar4" * identifier) ;) (declaration "CURLcode CVar5;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined1 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "Curl_easy *pCVar10;" type_identifier (pointer_declarator "*pCVar10" * identifier) ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar12;" type_identifier identifier ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data ftpcode;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar14;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar15;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar16;" type_identifier identifier ;) (declaration "ssize_t *psVar17;" primitive_type (pointer_declarator "*psVar17" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar18;" type_identifier identifier ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data conn;" type_identifier identifier ;) (declaration "int *piVar23;" primitive_type (pointer_declarator "*piVar23" * identifier) ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_128;" type_identifier identifier ;) (declaration "Curl_easy *pCStack_124;" type_identifier (pointer_declarator "*pCStack_124" * identifier) ;) (declaration "connectdata *pcStack_120;" type_identifier (pointer_declarator "*pcStack_120" * identifier) ;) (declaration "int iStack_11c;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_114;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_110;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_10c;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_108;" type_identifier identifier ;) (declaration "code *pcStack_104;" type_identifier (pointer_declarator "*pcStack_104" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_e0;" type_identifier identifier ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_d8;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_d4;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_d0;" type_identifier identifier ;) (declaration "ssize_t *psStack_cc;" primitive_type (pointer_declarator "*psStack_cc" * identifier) ;) (declaration "undefined *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_94;" type_identifier identifier ;) (declaration "Curl_easy *pCStack_90;" type_identifier (pointer_declarator "*pCStack_90" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_8c;" type_identifier identifier ;) (declaration "undefined1 auStack_88 [52];" type_identifier (array_declarator "auStack_88 [52]" identifier [ number_literal ]) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_54;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_50;" type_identifier identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_4c;" type_identifier identifier ;) (declaration "curl_socket_t cStack_48;" type_identifier identifier ;) (declaration "code *pcStack_44;" type_identifier (pointer_declarator "*pcStack_44" * identifier) ;) (declaration "anon_union_4_2_1ffdf146_for_data aStack_38;" type_identifier identifier ;) (declaration "ssize_t *psStack_34;" primitive_type (pointer_declarator "*psStack_34" * identifier) ;) (declaration "ssize_t nread;" primitive_type identifier ;) (declaration "anon_union_4_2_1ffdf146_for_data local_24;" type_identifier identifier ;) (expression_statement "puVar2 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "local_24 = *(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(anon_union_4_2_1ffdf146_for_data *)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (do_statement "do {\n    while (ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK) {\n      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;\n    }\n    len = len - nread;\n    to = (void *)((int)to + nread);\n  } while ((void *)len != (void *)0x0);" do (compound_statement "{\n    while (ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK) {\n      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;\n    }\n    len = len - nread;\n    to = (void *)((int)to + nread);\n  }" { (while_statement "while (ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK) {\n      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;\n    }" while (parenthesized_expression "(ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK)" ( (comma_expression "ftpcode.whatever = to, aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK" (assignment_expression "ftpcode.whatever = to" (field_expression "ftpcode.whatever" identifier . field_identifier) = identifier) , (comma_expression "aVar14 = (anon_union_4_2_1ffdf146_for_data)len, psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK" (assignment_expression "aVar14 = (anon_union_4_2_1ffdf146_for_data)len" identifier = (cast_expression "(anon_union_4_2_1ffdf146_for_data)len" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data" type_identifier) ) identifier)) , (comma_expression "psVar17 = &nread,\n          CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK" (assignment_expression "psVar17 = &nread" identifier = (pointer_expression "&nread" & identifier)) , (comma_expression "CVar3 = Curl_read_plain(fd,(char *)to,len,&nread), CVar3 != CURLE_OK" (assignment_expression "CVar3 = Curl_read_plain(fd,(char *)to,len,&nread)" identifier = (call_expression "Curl_read_plain(fd,(char *)to,len,&nread)" identifier (argument_list "(fd,(char *)to,len,&nread)" ( identifier , (cast_expression "(char *)to" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (pointer_expression "&nread" & identifier) )))) , (binary_expression "CVar3 != CURLE_OK" identifier != identifier))))) )) (compound_statement "{\n      if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;\n    }" { (if_statement "if (CVar3 != CURLE_AGAIN) goto LAB_0003d944;" if (parenthesized_expression "(CVar3 != CURLE_AGAIN)" ( (binary_expression "CVar3 != CURLE_AGAIN" identifier != identifier) )) (goto_statement "goto LAB_0003d944;" goto statement_identifier ;)) })) (expression_statement "len = len - nread;" (assignment_expression "len = len - nread" identifier = (binary_expression "len - nread" identifier - identifier)) ;) (expression_statement "to = (void *)((int)to + nread);" (assignment_expression "to = (void *)((int)to + nread)" identifier = (cast_expression "(void *)((int)to + nread)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)to + nread)" ( (binary_expression "(int)to + nread" (cast_expression "(int)to" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "((void *)len != (void *)0x0)" ( (binary_expression "(void *)len != (void *)0x0" (cast_expression "(void *)len" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) (labeled_statement "LAB_0003d944:\n  if ((anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==\n      *(anon_union_4_2_1ffdf146_for_data **)puVar2) {\n    return CVar3;\n  }" statement_identifier : (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==\n      *(anon_union_4_2_1ffdf146_for_data **)puVar2) {\n    return CVar3;\n  }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==\n      *(anon_union_4_2_1ffdf146_for_data **)puVar2)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)local_24.whatever ==\n      *(anon_union_4_2_1ffdf146_for_data **)puVar2" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)local_24.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_24.whatever" identifier . field_identifier)) == (pointer_expression "*(anon_union_4_2_1ffdf146_for_data **)puVar2" * (cast_expression "(anon_union_4_2_1ffdf146_for_data **)puVar2" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return CVar3;\n  }" { (return_statement "return CVar3;" return identifier ;) }))) (expression_statement "pcVar27 = ftp_send_command;" (assignment_expression "pcVar27 = ftp_send_command" identifier = identifier) ;) (expression_statement "conn = local_24;" (assignment_expression "conn = local_24" identifier = identifier) ;) (expression_statement "puVar26 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar26 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "aVar15.whatever = &aStack_38;" (assignment_expression "aVar15.whatever = &aStack_38" (field_expression "aVar15.whatever" identifier . field_identifier) = (pointer_expression "&aStack_38" & identifier)) ;) (expression_statement "aVar21 = (anon_union_4_2_1ffdf146_for_data)\n           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))->result;" (assignment_expression "aVar21 = (anon_union_4_2_1ffdf146_for_data)\n           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))->result" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))->result" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n           ((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "((anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(puVar26 + 0x69650)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x69650)" ( (binary_expression "puVar26 + 0x69650" identifier + number_literal) ))) ))) -> field_identifier)) ;) (expression_statement "pCStack_90 = (Curl_easy *)0x0;" (assignment_expression "pCStack_90 = (Curl_easy *)0x0" identifier = (cast_expression "(Curl_easy *)0x0" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "aStack_54 = *aVar21.whatever;" (assignment_expression "aStack_54 = *aVar21.whatever" identifier = (pointer_expression "*aVar21.whatever" * (field_expression "aVar21.whatever" identifier . field_identifier))) ;) (expression_statement "aStack_8c.whatever = aVar15.whatever;" (assignment_expression "aStack_8c.whatever = aVar15.whatever" (field_expression "aStack_8c.whatever" identifier . field_identifier) = (field_expression "aVar15.whatever" identifier . field_identifier)) ;) (expression_statement "aStack_50 = (anon_union_4_2_1ffdf146_for_data)len;" (assignment_expression "aStack_50 = (anon_union_4_2_1ffdf146_for_data)len" identifier = (cast_expression "(anon_union_4_2_1ffdf146_for_data)len" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data" type_identifier) ) identifier)) ;) (expression_statement "aStack_4c.whatever = to;" (assignment_expression "aStack_4c.whatever = to" (field_expression "aStack_4c.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "cStack_48 = fd;" (assignment_expression "cStack_48 = fd" identifier = identifier) ;) (expression_statement "pcStack_44 = pcVar27;" (assignment_expression "pcStack_44 = pcVar27" identifier = identifier) ;) (expression_statement "aStack_38 = aVar14;" (assignment_expression "aStack_38 = aVar14" identifier = identifier) ;) (expression_statement "psStack_34 = psVar17;" (assignment_expression "psStack_34 = psVar17" identifier = identifier) ;) (expression_statement "(**(code **)(puVar26 + 0x69494))(auStack_88,0x32);" (call_expression "(**(code **)(puVar26 + 0x69494))(auStack_88,0x32)" (parenthesized_expression "(**(code **)(puVar26 + 0x69494))" ( (pointer_expression "**(code **)(puVar26 + 0x69494)" * (pointer_expression "*(code **)(puVar26 + 0x69494)" * (cast_expression "(code **)(puVar26 + 0x69494)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x69494)" ( (binary_expression "puVar26 + 0x69494" identifier + number_literal) ))))) )) (argument_list "(auStack_88,0x32)" ( identifier , number_literal ))) ;) (expression_statement "aVar14.whatever = auStack_88;" (assignment_expression "aVar14.whatever = auStack_88" (field_expression "aVar14.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "CVar3 = Curl_ftpsend(conn.result,auStack_88);" (assignment_expression "CVar3 = Curl_ftpsend(conn.result,auStack_88)" identifier = (call_expression "Curl_ftpsend(conn.result,auStack_88)" identifier (argument_list "(conn.result,auStack_88)" ( (field_expression "conn.result" identifier . field_identifier) , identifier )))) ;) (if_statement "if (CVar3 == CURLE_OK) {\n    ftpcode.whatever = &aStack_94;\n    aVar14 = conn;\n    CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result);\n    if (CVar3 != CURLE_OK) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    aStack_94.whatever = &DAT_ffffffff;\n  }" if (parenthesized_expression "(CVar3 == CURLE_OK)" ( (binary_expression "CVar3 == CURLE_OK" identifier == identifier) )) (compound_statement "{\n    ftpcode.whatever = &aStack_94;\n    aVar14 = conn;\n    CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result);\n    if (CVar3 != CURLE_OK) goto LAB_0003da14;\n  }" { (expression_statement "ftpcode.whatever = &aStack_94;" (assignment_expression "ftpcode.whatever = &aStack_94" (field_expression "ftpcode.whatever" identifier . field_identifier) = (pointer_expression "&aStack_94" & identifier)) ;) (expression_statement "aVar14 = conn;" (assignment_expression "aVar14 = conn" identifier = identifier) ;) (expression_statement "CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result);" (assignment_expression "CVar3 = Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result)" identifier = (call_expression "Curl_GetFTPResponse((ssize_t *)&pCStack_90,conn.result,ftpcode.result)" identifier (argument_list "((ssize_t *)&pCStack_90,conn.result,ftpcode.result)" ( (cast_expression "(ssize_t *)&pCStack_90" ( (type_descriptor "ssize_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pCStack_90" & identifier)) , (field_expression "conn.result" identifier . field_identifier) , (field_expression "ftpcode.result" identifier . field_identifier) )))) ;) (if_statement "if (CVar3 != CURLE_OK) goto LAB_0003da14;" if (parenthesized_expression "(CVar3 != CURLE_OK)" ( (binary_expression "CVar3 != CURLE_OK" identifier != identifier) )) (goto_statement "goto LAB_0003da14;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0003da14:\n    aStack_94.whatever = &DAT_ffffffff;\n  }" else (compound_statement "{\nLAB_0003da14:\n    aStack_94.whatever = &DAT_ffffffff;\n  }" { (labeled_statement "LAB_0003da14:\n    aStack_94.whatever = &DAT_ffffffff;" statement_identifier : (expression_statement "aStack_94.whatever = &DAT_ffffffff;" (assignment_expression "aStack_94.whatever = &DAT_ffffffff" (field_expression "aStack_94.whatever" identifier . field_identifier) = (pointer_expression "&DAT_ffffffff" & identifier)) ;)) }))) comment (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever == *aVar21.whatever) {\n    return (CURLcode)aStack_94.whatever;\n  }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever == *aVar21.whatever)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever == *aVar21.whatever" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_54.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_54.whatever" identifier . field_identifier)) == (pointer_expression "*aVar21.whatever" * (field_expression "aVar21.whatever" identifier . field_identifier))) )) (compound_statement "{\n    return (CURLcode)aStack_94.whatever;\n  }" { (return_statement "return (CURLcode)aStack_94.whatever;" return (cast_expression "(CURLcode)aStack_94.whatever" ( (type_descriptor "CURLcode" type_identifier) ) (field_expression "aStack_94.whatever" identifier . field_identifier)) ;) })) (expression_statement "pcVar27 = *(code **)(puVar26 + 0x692c4);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x692c4)" identifier = (pointer_expression "*(code **)(puVar26 + 0x692c4)" * (cast_expression "(code **)(puVar26 + 0x692c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x692c4)" ( (binary_expression "puVar26 + 0x692c4" identifier + number_literal) ))))) ;) (expression_statement "aVar12 = aStack_54;" (assignment_expression "aVar12 = aStack_54" identifier = identifier) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pvVar4 = ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))->whatever;" (assignment_expression "pvVar4 = ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))->whatever" identifier = (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2cc)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2cc)" ( (binary_expression "aVar12.result + 0x2cc" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier)) ;) (expression_statement "puVar25 = *(undefined4 **)(pcVar27 + 0x69574);" (assignment_expression "puVar25 = *(undefined4 **)(pcVar27 + 0x69574)" identifier = (pointer_expression "*(undefined4 **)(pcVar27 + 0x69574)" * (cast_expression "(undefined4 **)(pcVar27 + 0x69574)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x69574)" ( (binary_expression "pcVar27 + 0x69574" identifier + number_literal) ))))) ;) (expression_statement "aVar14.whatever =\n       (anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED) +\n       (int)(aVar14.result + CURLE_SSL_CRL_BADFILE);" (assignment_expression "aVar14.whatever =\n       (anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED) +\n       (int)(aVar14.result + CURLE_SSL_CRL_BADFILE)" (field_expression "aVar14.whatever" identifier . field_identifier) = (binary_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED) +\n       (int)(aVar14.result + CURLE_SSL_CRL_BADFILE)" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + CURLE_SSL_SHUTDOWN_FAILED)" ( (binary_expression "aVar12.result + CURLE_SSL_SHUTDOWN_FAILED" (field_expression "aVar12.result" identifier . field_identifier) + identifier) ))) + (cast_expression "(int)(aVar14.result + CURLE_SSL_CRL_BADFILE)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(aVar14.result + CURLE_SSL_CRL_BADFILE)" ( (binary_expression "aVar14.result + CURLE_SSL_CRL_BADFILE" (field_expression "aVar14.result" identifier . field_identifier) + identifier) ))))) ;) (expression_statement "uStack_c4 = 0x51;" (assignment_expression "uStack_c4 = 0x51" identifier = number_literal) ;) (expression_statement "piStack_dc = (int *)*puVar25;" (assignment_expression "piStack_dc = (int *)*puVar25" identifier = (cast_expression "(int *)*puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) ;) comment (expression_statement "CVar3 = *aVar14.whatever;" (assignment_expression "CVar3 = *aVar14.whatever" identifier = (pointer_expression "*aVar14.whatever" * (field_expression "aVar14.whatever" identifier . field_identifier))) ;) (expression_statement "puStack_c8 = puVar2;" (assignment_expression "puStack_c8 = puVar2" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar26 + 0x70780) = 0;" (assignment_expression "*(undefined4 *)(puVar26 + 0x70780) = 0" (pointer_expression "*(undefined4 *)(puVar26 + 0x70780)" * (cast_expression "(undefined4 *)(puVar26 + 0x70780)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x70780)" ( (binary_expression "puVar26 + 0x70780" identifier + number_literal) )))) = number_literal) ;) (expression_statement "aVar18.whatever = auStack_88;" (assignment_expression "aVar18.whatever = auStack_88" (field_expression "aVar18.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "aStack_d8.whatever = auStack_88;" (assignment_expression "aStack_d8.whatever = auStack_88" (field_expression "aStack_d8.whatever" identifier . field_identifier) = identifier) ;) (expression_statement "aStack_d4 = aVar21;" (assignment_expression "aStack_d4 = aVar21" identifier = identifier) ;) (expression_statement "aStack_d0 = conn;" (assignment_expression "aStack_d0 = conn" identifier = identifier) ;) (expression_statement "psStack_cc = &nread;" (assignment_expression "psStack_cc = &nread" identifier = (pointer_expression "&nread" & identifier)) ;) (if_statement "if ((pvVar4 == (void *)0x0) ||\n     (aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)) {\n    aVar14 = ftpcode;\n    aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3);\n    aVar16 = aVar15;\n    aVar12 = aVar18;\n  }\n  else if (((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }\n    aVar16 = aVar21;\n    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n    conn.whatever = aVar15.whatever - aVar21.whatever;\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n    aVar6 = aVar21;\n    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }" if (parenthesized_expression "((pvVar4 == (void *)0x0) ||\n     (aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1))" ( (binary_expression "(pvVar4 == (void *)0x0) ||\n     (aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)" (parenthesized_expression "(pvVar4 == (void *)0x0)" ( (binary_expression "pvVar4 == (void *)0x0" identifier == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)" ( (comma_expression "aVar18 = aVar12,\n     ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1" (assignment_expression "aVar18 = aVar12" identifier = identifier) , (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever == (void *)0x1" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2d4)" ( (binary_expression "aVar12.result + 0x2d4" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) == (cast_expression "(void *)0x1" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    aVar14 = ftpcode;\n    aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3);\n    aVar16 = aVar15;\n    aVar12 = aVar18;\n  }" { (expression_statement "aVar14 = ftpcode;" (assignment_expression "aVar14 = ftpcode" identifier = identifier) ;) (expression_statement "aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3);" (assignment_expression "aVar6.whatever = (void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3)" (field_expression "aVar6.whatever" identifier . field_identifier) = (cast_expression "(void *)(**(code **)(pcVar27 + 0x68f9c))(CVar3)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar27 + 0x68f9c))(CVar3)" (parenthesized_expression "(**(code **)(pcVar27 + 0x68f9c))" ( (pointer_expression "**(code **)(pcVar27 + 0x68f9c)" * (pointer_expression "*(code **)(pcVar27 + 0x68f9c)" * (cast_expression "(code **)(pcVar27 + 0x68f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68f9c)" ( (binary_expression "pcVar27 + 0x68f9c" identifier + number_literal) ))))) )) (argument_list "(CVar3)" ( identifier ))))) ;) (expression_statement "aVar16 = aVar15;" (assignment_expression "aVar16 = aVar15" identifier = identifier) ;) (expression_statement "aVar12 = aVar18;" (assignment_expression "aVar12 = aVar18" identifier = identifier) ;) }) (else_clause "else if (((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }\n    aVar16 = aVar21;\n    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n    conn.whatever = aVar15.whatever - aVar21.whatever;\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n    aVar6 = aVar21;\n    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }" else (if_statement "if (((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {\n    aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }\n    aVar16 = aVar21;\n    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n    conn.whatever = aVar15.whatever - aVar21.whatever;\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n    aVar6 = aVar21;\n    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }\n  else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }" if (parenthesized_expression "(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0)" ( (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever == (void *)0x0" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2ec)" ( (binary_expression "aVar12.result + 0x2ec" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) == (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;\n    if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }\n    aVar16 = aVar21;\n    (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n    conn.whatever = aVar15.whatever - aVar21.whatever;\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n    aVar6 = aVar21;\n    if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }\n  }" { (expression_statement "aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;" (assignment_expression "aVar21.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result" (field_expression "aVar21.whatever" identifier . field_identifier) = (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever -\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e4)" ( (binary_expression "aVar12.result + 0x2e4" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) - (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e8)" ( (binary_expression "aVar12.result + 0x2e8" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) ;) (expression_statement "aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result;" (assignment_expression "aVar14.whatever =\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result" (field_expression "aVar14.whatever" identifier . field_identifier) = (binary_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever +\n         ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e0)" ( (binary_expression "aVar12.result + 0x2e0" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) + (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e8)" ( (binary_expression "aVar12.result + 0x2e8" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) ;) (if_statement "if (aVar15.whatever < aVar21.whatever) {\n      aVar21 = aVar15;\n    }" if (parenthesized_expression "(aVar15.whatever < aVar21.whatever)" ( (binary_expression "aVar15.whatever < aVar21.whatever" (field_expression "aVar15.whatever" identifier . field_identifier) < (field_expression "aVar21.whatever" identifier . field_identifier)) )) (compound_statement "{\n      aVar21 = aVar15;\n    }" { (expression_statement "aVar21 = aVar15;" (assignment_expression "aVar21 = aVar15" identifier = identifier) ;) })) (expression_statement "aVar16 = aVar21;" (assignment_expression "aVar16 = aVar21" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);" (call_expression "(**(code **)(pcVar27 + 0x69480))(ftpcode.whatever)" (parenthesized_expression "(**(code **)(pcVar27 + 0x69480))" ( (pointer_expression "**(code **)(pcVar27 + 0x69480)" * (pointer_expression "*(code **)(pcVar27 + 0x69480)" * (cast_expression "(code **)(pcVar27 + 0x69480)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x69480)" ( (binary_expression "pcVar27 + 0x69480" identifier + number_literal) ))))) )) (argument_list "(ftpcode.whatever)" ( (field_expression "ftpcode.whatever" identifier . field_identifier) ))) ;) (expression_statement "ftpcode.whatever = ftpcode.whatever + aVar21.whatever;" (assignment_expression "ftpcode.whatever = ftpcode.whatever + aVar21.whatever" (field_expression "ftpcode.whatever" identifier . field_identifier) = (binary_expression "ftpcode.whatever + aVar21.whatever" (field_expression "ftpcode.whatever" identifier . field_identifier) + (field_expression "aVar21.whatever" identifier . field_identifier))) ;) (expression_statement "conn.whatever = aVar15.whatever - aVar21.whatever;" (assignment_expression "conn.whatever = aVar15.whatever - aVar21.whatever" (field_expression "conn.whatever" identifier . field_identifier) = (binary_expression "aVar15.whatever - aVar21.whatever" (field_expression "aVar15.whatever" identifier . field_identifier) - (field_expression "aVar21.whatever" identifier . field_identifier))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n         (undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever)" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e8)" ( (binary_expression "aVar12.result + 0x2e8" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(undefined1 *)\n         ((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever)" ( (binary_expression "(int)aVar21.whatever +\n         (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" (cast_expression "(int)aVar21.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar21.whatever" identifier . field_identifier)) + (cast_expression "(int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e8)" ( (binary_expression "aVar12.result + 0x2e8" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) )))) ;) (expression_statement "aVar6 = aVar21;" (assignment_expression "aVar6 = aVar21" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       ) {\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0\n       )" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)conn.whatever != (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)conn.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "conn.whatever" identifier . field_identifier)) != (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);\n    }" { (do_statement "do {\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      } while ((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0);" do (compound_statement "{\n        aVar16.result = CURLE_NOT_BUILT_IN;\n        aVar14.whatever = &aStack_e0;\n        CVar5 = socket_read(CVar3,&aStack_e0,4);\n        if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }\n        aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;\n        aVar16 = aStack_e0;\n        if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;\n        aVar16 = aStack_e0;\n        aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;\n        if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }\n        aVar21.result = aVar15.result;\n        if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }\n        aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;\n        aVar16 = aVar21;\n        (**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);\n        conn.whatever = conn.whatever - aVar21.whatever;\n        aVar6.whatever = aVar6.whatever + aVar21.whatever;\n        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;\n        ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);\n      }" { (expression_statement "aVar16.result = CURLE_NOT_BUILT_IN;" (assignment_expression "aVar16.result = CURLE_NOT_BUILT_IN" (field_expression "aVar16.result" identifier . field_identifier) = identifier) ;) (expression_statement "aVar14.whatever = &aStack_e0;" (assignment_expression "aVar14.whatever = &aStack_e0" (field_expression "aVar14.whatever" identifier . field_identifier) = (pointer_expression "&aStack_e0" & identifier)) ;) (expression_statement "CVar5 = socket_read(CVar3,&aStack_e0,4);" (assignment_expression "CVar5 = socket_read(CVar3,&aStack_e0,4)" identifier = (call_expression "socket_read(CVar3,&aStack_e0,4)" identifier (argument_list "(CVar3,&aStack_e0,4)" ( identifier , (pointer_expression "&aStack_e0" & identifier) , number_literal )))) ;) (if_statement "if ((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)) {\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }" if (parenthesized_expression "((CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0))" ( (binary_expression "(CVar5 != CURLE_OK) ||\n           (aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)" (parenthesized_expression "(CVar5 != CURLE_OK)" ( (binary_expression "CVar5 != CURLE_OK" identifier != identifier) )) || (parenthesized_expression "(aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (comma_expression "aVar14 = aStack_e0,\n           (anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0" (assignment_expression "aVar14 = aStack_e0" identifier = identifier) , (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n           (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_e0.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\nLAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;\n          break;\n        }" { (labeled_statement "LAB_0003dbc0:\n          aVar6.whatever = &DAT_ffffffff;" statement_identifier : (expression_statement "aVar6.whatever = &DAT_ffffffff;" (assignment_expression "aVar6.whatever = &DAT_ffffffff" (field_expression "aVar6.whatever" identifier . field_identifier) = (pointer_expression "&DAT_ffffffff" & identifier)) ;)) (break_statement "break;" break ;) })) (expression_statement "aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result);" (assignment_expression "aVar15.whatever =\n             Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result)" (field_expression "aVar15.whatever" identifier . field_identifier) = (call_expression "Curl_saferealloc(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result)" identifier (argument_list "(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever,aStack_e0.result)" ( (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->\n                              whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e0)" ( (binary_expression "aVar12.result + 0x2e0" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) , (field_expression "aStack_e0.result" identifier . field_identifier) )))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e0)" ( (binary_expression "aVar12.result + 0x2e0" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(void *)aVar15" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "aVar16 = aStack_e0;" (assignment_expression "aVar16 = aStack_e0" identifier = identifier) ;) (if_statement "if (((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))) goto LAB_0003dbc0;" if (parenthesized_expression "(((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK))))" ( (binary_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0) ||\n           (((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aStack_e0.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_e0.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)))" ( (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK))" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0 ||\n            (CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)" (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n             (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar15.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar15.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK)" ( (comma_expression "CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,\n            CVar5 != CURLE_OK" (assignment_expression "CVar5 = socket_read(CVar3,aVar15.whatever,aStack_e0.result)" identifier = (call_expression "socket_read(CVar3,aVar15.whatever,aStack_e0.result)" identifier (argument_list "(CVar3,aVar15.whatever,aStack_e0.result)" ( identifier , (field_expression "aVar15.whatever" identifier . field_identifier) , (field_expression "aStack_e0.result" identifier . field_identifier) )))) , (comma_expression "aVar14 = aVar15,\n            CVar5 != CURLE_OK" (assignment_expression "aVar14 = aVar15" identifier = identifier) , (binary_expression "CVar5 != CURLE_OK" identifier != identifier))) ))) )) ))) )) (goto_statement "goto LAB_0003dbc0;" goto statement_identifier ;)) (expression_statement "aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever;" (assignment_expression "aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->whatever" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e0)" ( (binary_expression "aVar12.result + 0x2e0" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) ))) -> field_identifier)) ;) (expression_statement "aVar16 = aStack_e0;" (assignment_expression "aVar16 = aStack_e0" identifier = identifier) ;) (expression_statement "aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever);" (assignment_expression "aVar15.whatever =\n             (void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever)" (field_expression "aVar15.whatever" identifier . field_identifier) = (cast_expression "(void *)(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever)" (parenthesized_expression "(*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode)" ( (pointer_expression "*((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode" * (field_expression "((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)->\n                       decode" (parenthesized_expression "((Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result)" ( (cast_expression "(Curl_sec_client_mech *)\n                       ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result" ( (type_descriptor "Curl_sec_client_mech *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2f4)" ( (binary_expression "aVar12.result + 0x2f4" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier)) )) -> field_identifier)) )) (argument_list "(((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever,aVar14.whatever,aStack_e0.result,\n                               ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result\n                               ,aVar12.whatever)" ( (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))->\n                               whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2f0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2f0)" ( (binary_expression "aVar12.result + 0x2f0" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) , (field_expression "aVar14.whatever" identifier . field_identifier) , (field_expression "aStack_e0.result" identifier . field_identifier) , (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2d4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2d4)" ( (binary_expression "aVar12.result + 0x2d4" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) , (field_expression "aVar12.whatever" identifier . field_identifier) ))))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever = (void *)0x0" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e8)" ( (binary_expression "aVar12.result + 0x2e8" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result = (CURLcode)aVar15" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e4)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e4)" ( (binary_expression "aVar12.result + 0x2e4" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(CURLcode)aVar15" ( (type_descriptor "CURLcode" type_identifier) ) identifier)) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0) {\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar15.whatever ==\n            (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar15.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar15.whatever" identifier . field_identifier)) == (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          aVar6 = aVar21;\n          if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }\n          break;\n        }" { (expression_statement "aVar6 = aVar21;" (assignment_expression "aVar6 = aVar21" identifier = identifier) ;) (if_statement "if ((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0) {\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }" if (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)aVar21.whatever !=\n              (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)aVar21.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "aVar21.whatever" identifier . field_identifier)) != (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;\n          }" { (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result =\n                 CURLE_UNSUPPORTED_PROTOCOL" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->result" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2ec)" ( (binary_expression "aVar12.result + 0x2ec" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = identifier) ;) })) (break_statement "break;" break ;) })) (expression_statement "aVar21.result = aVar15.result;" (assignment_expression "aVar21.result = aVar15.result" (field_expression "aVar21.result" identifier . field_identifier) = (field_expression "aVar15.result" identifier . field_identifier)) ;) (if_statement "if (conn.whatever <= aVar15.whatever) {\n          aVar21 = conn;\n        }" if (parenthesized_expression "(conn.whatever <= aVar15.whatever)" ( (binary_expression "conn.whatever <= aVar15.whatever" (field_expression "conn.whatever" identifier . field_identifier) <= (field_expression "aVar15.whatever" identifier . field_identifier)) )) (compound_statement "{\n          aVar21 = conn;\n        }" { (expression_statement "aVar21 = conn;" (assignment_expression "aVar21 = conn" identifier = identifier) ;) })) (expression_statement "aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result;" (assignment_expression "aVar14 = (anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result" identifier = (field_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))->result" (call_expression "(anon_union_4_2_1ffdf146_for_data)\n                 ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))" (parenthesized_expression "(anon_union_4_2_1ffdf146_for_data)" ( identifier )) (argument_list "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e0)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e0)" ( (binary_expression "aVar12.result + 0x2e0" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) ))) -> field_identifier)) ;) (expression_statement "aVar16 = aVar21;" (assignment_expression "aVar16 = aVar21" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar27 + 0x69480))(ftpcode.whatever);" (call_expression "(**(code **)(pcVar27 + 0x69480))(ftpcode.whatever)" (parenthesized_expression "(**(code **)(pcVar27 + 0x69480))" ( (pointer_expression "**(code **)(pcVar27 + 0x69480)" * (pointer_expression "*(code **)(pcVar27 + 0x69480)" * (cast_expression "(code **)(pcVar27 + 0x69480)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x69480)" ( (binary_expression "pcVar27 + 0x69480" identifier + number_literal) ))))) )) (argument_list "(ftpcode.whatever)" ( (field_expression "ftpcode.whatever" identifier . field_identifier) ))) ;) (expression_statement "conn.whatever = conn.whatever - aVar21.whatever;" (assignment_expression "conn.whatever = conn.whatever - aVar21.whatever" (field_expression "conn.whatever" identifier . field_identifier) = (binary_expression "conn.whatever - aVar21.whatever" (field_expression "conn.whatever" identifier . field_identifier) - (field_expression "aVar21.whatever" identifier . field_identifier))) ;) (expression_statement "aVar6.whatever = aVar6.whatever + aVar21.whatever;" (assignment_expression "aVar6.whatever = aVar6.whatever + aVar21.whatever" (field_expression "aVar6.whatever" identifier . field_identifier) = (binary_expression "aVar6.whatever + aVar21.whatever" (field_expression "aVar6.whatever" identifier . field_identifier) + (field_expression "aVar21.whatever" identifier . field_identifier))) ;) (expression_statement "ftpcode.whatever = ftpcode.whatever + aVar21.whatever;" (assignment_expression "ftpcode.whatever = ftpcode.whatever + aVar21.whatever" (field_expression "ftpcode.whatever" identifier . field_identifier) = (binary_expression "ftpcode.whatever + aVar21.whatever" (field_expression "ftpcode.whatever" identifier . field_identifier) + (field_expression "aVar21.whatever" identifier . field_identifier))) ;) (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever);" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever =\n             (undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever)" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e8)" ( (binary_expression "aVar12.result + 0x2e8" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(undefined1 *)\n             ((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever)" ( (binary_expression "(int)aVar21.whatever +\n             (int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" (cast_expression "(int)aVar21.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aVar21.whatever" identifier . field_identifier)) + (cast_expression "(int)((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2e8)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2e8)" ( (binary_expression "aVar12.result + 0x2e8" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier))) )))) ;) }) while (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0)" ( (binary_expression "(anon_union_4_2_1ffdf146_for_data *)conn.whatever !=\n               (anon_union_4_2_1ffdf146_for_data *)0x0" (cast_expression "(anon_union_4_2_1ffdf146_for_data *)conn.whatever" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "conn.whatever" identifier . field_identifier)) != (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) }) (else_clause "else {\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }" else (compound_statement "{\n    ((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;\n    aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;\n    aVar16 = ftpcode;\n  }" { (expression_statement "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;" (assignment_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever = (void *)0x0" (field_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))->whatever" (parenthesized_expression "((anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec))" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar12.result + 0x2ec)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar12.result + 0x2ec)" ( (binary_expression "aVar12.result + 0x2ec" (field_expression "aVar12.result" identifier . field_identifier) + number_literal) ))) )) -> field_identifier) = (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0;" (assignment_expression "aVar6.whatever = (anon_union_4_2_1ffdf146_for_data *)0x0" (field_expression "aVar6.whatever" identifier . field_identifier) = (cast_expression "(anon_union_4_2_1ffdf146_for_data *)0x0" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "aVar16 = ftpcode;" (assignment_expression "aVar16 = ftpcode" identifier = identifier) ;) }))))) (if_statement "if (piStack_dc == (int *)*puVar25) {\n    return (CURLcode)aVar6.whatever;\n  }" if (parenthesized_expression "(piStack_dc == (int *)*puVar25)" ( (binary_expression "piStack_dc == (int *)*puVar25" identifier == (cast_expression "(int *)*puVar25" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar25" * identifier))) )) (compound_statement "{\n    return (CURLcode)aVar6.whatever;\n  }" { (return_statement "return (CURLcode)aVar6.whatever;" return (cast_expression "(CURLcode)aVar6.whatever" ( (type_descriptor "CURLcode" type_identifier) ) (field_expression "aVar6.whatever" identifier . field_identifier)) ;) })) (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x691e8);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x691e8)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x691e8)" * (cast_expression "(code **)(pcVar27 + 0x691e8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x691e8)" ( (binary_expression "pcVar27 + 0x691e8" identifier + number_literal) ))))) ;) (expression_statement "pcVar28 = Curl_sec_read_msg;" (assignment_expression "pcVar28 = Curl_sec_read_msg" identifier = identifier) ;) (expression_statement "piVar13 = piStack_dc;" (assignment_expression "piVar13 = piStack_dc" identifier = identifier) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar23 = *(int **)(pcVar27 + 0x6931c);" (assignment_expression "piVar23 = *(int **)(pcVar27 + 0x6931c)" identifier = (pointer_expression "*(int **)(pcVar27 + 0x6931c)" * (cast_expression "(int **)(pcVar27 + 0x6931c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x6931c)" ( (binary_expression "pcVar27 + 0x6931c" identifier + number_literal) ))))) ;) (expression_statement "pCStack_124 = (Curl_easy *)0x0;" (assignment_expression "pCStack_124 = (Curl_easy *)0x0" identifier = (cast_expression "(Curl_easy *)0x0" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pcStack_120 = (connectdata *)0x0;" (assignment_expression "pcStack_120 = (connectdata *)0x0" identifier = (cast_expression "(connectdata *)0x0" ( (type_descriptor "connectdata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iStack_11c = *piVar23;" (assignment_expression "iStack_11c = *piVar23" identifier = (pointer_expression "*piVar23" * identifier)) ;) (expression_statement "aVar15 = aVar14;" (assignment_expression "aVar15 = aVar14" identifier = identifier) ;) (expression_statement "aStack_114 = aVar12;" (assignment_expression "aStack_114 = aVar12" identifier = identifier) ;) (expression_statement "aStack_110 = aVar21;" (assignment_expression "aStack_110 = aVar21" identifier = identifier) ;) (expression_statement "aStack_10c = conn;" (assignment_expression "aStack_10c = conn" identifier = identifier) ;) (expression_statement "aStack_108 = ftpcode;" (assignment_expression "aStack_108 = ftpcode" identifier = identifier) ;) (expression_statement "pcStack_104 = pcVar28;" (assignment_expression "pcStack_104 = pcVar28" identifier = identifier) ;) (if_statement "if (piVar13[0xbd] != 0) {\n    aVar15.whatever = &aStack_128;\n    iVar7 = (**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120);\n    if ((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)) {\n      if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n    }\n  }" if (parenthesized_expression "(piVar13[0xbd] != 0)" ( (binary_expression "piVar13[0xbd] != 0" (subscript_expression "piVar13[0xbd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    aVar15.whatever = &aStack_128;\n    iVar7 = (**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120);\n    if ((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)) {\n      if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n    }\n  }" { (expression_statement "aVar15.whatever = &aStack_128;" (assignment_expression "aVar15.whatever = &aStack_128" (field_expression "aVar15.whatever" identifier . field_identifier) = (pointer_expression "&aStack_128" & identifier)) ;) (expression_statement "iVar7 = (**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120);" (assignment_expression "iVar7 = (**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120)" identifier = (call_expression "(**(code **)(pcVar27 + 0x68920))\n                      ((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120)" (parenthesized_expression "(**(code **)(pcVar27 + 0x68920))" ( (pointer_expression "**(code **)(pcVar27 + 0x68920)" * (pointer_expression "*(code **)(pcVar27 + 0x68920)" * (cast_expression "(code **)(pcVar27 + 0x68920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68920)" ( (binary_expression "pcVar27 + 0x68920" identifier + number_literal) ))))) )) (argument_list "((anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN),\n                       aVar15.whatever,&pcStack_120)" ( (cast_expression "(anon_union_4_2_1ffdf146_for_data *)(aVar14.result + CURLE_NOT_BUILT_IN)" ( (type_descriptor "anon_union_4_2_1ffdf146_for_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aVar14.result + CURLE_NOT_BUILT_IN)" ( (binary_expression "aVar14.result + CURLE_NOT_BUILT_IN" (field_expression "aVar14.result" identifier . field_identifier) + identifier) ))) , (field_expression "aVar15.whatever" identifier . field_identifier) , (pointer_expression "&pcStack_120" & identifier) )))) ;) (if_statement "if ((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)) {\n      if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n    }" if (parenthesized_expression "((iVar7 == 0) && (pcStack_120 != (connectdata *)0x0))" ( (binary_expression "(iVar7 == 0) && (pcStack_120 != (connectdata *)0x0)" (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(pcStack_120 != (connectdata *)0x0)" ( (binary_expression "pcStack_120 != (connectdata *)0x0" identifier != (cast_expression "(connectdata *)0x0" ( (type_descriptor "connectdata *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n      if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n    }" { (if_statement "if (-1 < (int)pcStack_120) {\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" if (parenthesized_expression "(-1 < (int)pcStack_120)" ( (binary_expression "-1 < (int)pcStack_120" number_literal < (cast_expression "(int)pcStack_120" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n        uVar8 = (**(code **)(pcVar27 + 0x68860))();\n        aVar15 = aStack_128;\n        iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);\n        if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" { (expression_statement "uVar8 = (**(code **)(pcVar27 + 0x68860))();" (assignment_expression "uVar8 = (**(code **)(pcVar27 + 0x68860))()" identifier = (call_expression "(**(code **)(pcVar27 + 0x68860))()" (parenthesized_expression "(**(code **)(pcVar27 + 0x68860))" ( (pointer_expression "**(code **)(pcVar27 + 0x68860)" * (pointer_expression "*(code **)(pcVar27 + 0x68860)" * (cast_expression "(code **)(pcVar27 + 0x68860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68860)" ( (binary_expression "pcVar27 + 0x68860" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "aVar15 = aStack_128;" (assignment_expression "aVar15 = aStack_128" identifier = identifier) ;) (expression_statement "iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);" (assignment_expression "iVar7 = (**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13)" identifier = (call_expression "(**(code **)(piVar13[0xbd] + 0x20))\n                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13)" (parenthesized_expression "(**(code **)(piVar13[0xbd] + 0x20))" ( (pointer_expression "**(code **)(piVar13[0xbd] + 0x20)" * (pointer_expression "*(code **)(piVar13[0xbd] + 0x20)" * (cast_expression "(code **)(piVar13[0xbd] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar13[0xbd] + 0x20)" ( (binary_expression "piVar13[0xbd] + 0x20" (subscript_expression "piVar13[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13)" ( (subscript_expression "piVar13[0xbc]" identifier [ number_literal ]) , (field_expression "aStack_128.whatever" identifier . field_identifier) , identifier , (field_expression "aVar16.whatever" identifier . field_identifier) , identifier )))) ;) (if_statement "if (0 < iVar7) {\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }" if (parenthesized_expression "(0 < iVar7)" ( (binary_expression "0 < iVar7" number_literal < identifier) )) (compound_statement "{\n          puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }\n          *puVar9 = 0;\n          if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }\n          goto LAB_0003ddec;\n        }" { (expression_statement "puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);" (assignment_expression "puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7)" identifier = (cast_expression "(undefined1 *)((int)aStack_128.whatever + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aStack_128.whatever + iVar7)" ( (binary_expression "(int)aStack_128.whatever + iVar7" (cast_expression "(int)aStack_128.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aStack_128.whatever" identifier . field_identifier)) + identifier) )))) ;) (if_statement "if (*(char *)(*piVar13 + 0x958) != '\0') {\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }" if (parenthesized_expression "(*(char *)(*piVar13 + 0x958) != '\0')" ( (binary_expression "*(char *)(*piVar13 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar13 + 0x958)" * (cast_expression "(char *)(*piVar13 + 0x958)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar13 + 0x958)" ( (binary_expression "*piVar13 + 0x958" (pointer_expression "*piVar13" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *puVar9 = 10;\n            aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;\n            Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);\n            puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);\n          }" { (expression_statement "*puVar9 = 10;" (assignment_expression "*puVar9 = 10" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "aVar15.result = CURLE_UNSUPPORTED_PROTOCOL;" (assignment_expression "aVar15.result = CURLE_UNSUPPORTED_PROTOCOL" (field_expression "aVar15.result" identifier . field_identifier) = identifier) ;) (expression_statement "Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1);" (call_expression "Curl_debug((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1)" identifier (argument_list "((Curl_easy *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,\n                       iVar7 + 1)" ( (cast_expression "(Curl_easy *)*piVar13" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar13" * identifier)) , identifier , (cast_expression "(char *)aStack_128.whatever" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "aStack_128.whatever" identifier . field_identifier)) , (binary_expression "iVar7 + 1" identifier + number_literal) ))) ;) (expression_statement "puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7);" (assignment_expression "puVar9 = (undefined1 *)((int)aStack_128.whatever + iVar7)" identifier = (cast_expression "(undefined1 *)((int)aStack_128.whatever + iVar7)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)aStack_128.whatever + iVar7)" ( (binary_expression "(int)aStack_128.whatever + iVar7" (cast_expression "(int)aStack_128.whatever" ( (type_descriptor "int" primitive_type) ) (field_expression "aStack_128.whatever" identifier . field_identifier)) + identifier) )))) ;) })) (expression_statement "*puVar9 = 0;" (assignment_expression "*puVar9 = 0" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (if_statement "if (iVar7 < 4) {\n            pCVar10 = (Curl_easy *)0x0;\n          }\n          else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }" if (parenthesized_expression "(iVar7 < 4)" ( (binary_expression "iVar7 < 4" identifier < number_literal) )) (compound_statement "{\n            pCVar10 = (Curl_easy *)0x0;\n          }" { (expression_statement "pCVar10 = (Curl_easy *)0x0;" (assignment_expression "pCVar10 = (Curl_easy *)0x0" identifier = (cast_expression "(Curl_easy *)0x0" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }" else (compound_statement "{\n            if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }\n            aVar15 = aStack_128;\n            (**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);\n            (*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);\n            pCVar10 = pCStack_124;\n          }" { (if_statement "if (*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d) {\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }\n            else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }" if (parenthesized_expression "(*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d)" ( (binary_expression "*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT) == 0x2d" (pointer_expression "*(byte *)(aStack_128.result + CURLE_URL_MALFORMAT)" * (cast_expression "(byte *)(aStack_128.result + CURLE_URL_MALFORMAT)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aStack_128.result + CURLE_URL_MALFORMAT)" ( (binary_expression "aStack_128.result + CURLE_URL_MALFORMAT" (field_expression "aStack_128.result" identifier . field_identifier) + identifier) )))) == number_literal) )) (compound_statement "{\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }" { (expression_statement "pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;" (assignment_expression "pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7" identifier = (binary_expression "(undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7" (cast_expression "(undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL)" ( (binary_expression "aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL" (field_expression "aStack_128.result" identifier . field_identifier) - identifier) ))) + identifier)) ;) (expression_statement "cVar1 = *pcVar19;" (assignment_expression "cVar1 = *pcVar19" identifier = (pointer_expression "*pcVar19" * identifier)) ;) }) (else_clause "else {\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }" else (compound_statement "{\n              (**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);\n              pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;\n              cVar1 = *pcVar19;\n            }" { (expression_statement "(**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124);" (call_expression "(**(code **)(pcVar27 + 0x69020))\n                        (aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124)" (parenthesized_expression "(**(code **)(pcVar27 + 0x69020))" ( (pointer_expression "**(code **)(pcVar27 + 0x69020)" * (pointer_expression "*(code **)(pcVar27 + 0x69020)" * (cast_expression "(code **)(pcVar27 + 0x69020)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x69020)" ( (binary_expression "pcVar27 + 0x69020" identifier + number_literal) ))))) )) (argument_list "(aStack_128.whatever,*(int *)(pcVar27 + 0x684d0) + -0x6f58,&pCStack_124)" ( (field_expression "aStack_128.whatever" identifier . field_identifier) , (binary_expression "*(int *)(pcVar27 + 0x684d0) + -0x6f58" (pointer_expression "*(int *)(pcVar27 + 0x684d0)" * (cast_expression "(int *)(pcVar27 + 0x684d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x684d0)" ( (binary_expression "pcVar27 + 0x684d0" identifier + number_literal) )))) + number_literal) , (pointer_expression "&pCStack_124" & identifier) ))) ;) (expression_statement "pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7;" (assignment_expression "pcVar19 = (undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7" identifier = (binary_expression "(undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL) + iVar7" (cast_expression "(undefined1 *)(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL)" ( (binary_expression "aStack_128.result - CURLE_UNSUPPORTED_PROTOCOL" (field_expression "aStack_128.result" identifier . field_identifier) - identifier) ))) + identifier)) ;) (expression_statement "cVar1 = *pcVar19;" (assignment_expression "cVar1 = *pcVar19" identifier = (pointer_expression "*pcVar19" * identifier)) ;) }))) (if_statement "if (cVar1 == '\n') {\n              *pcVar19 = '\0';\n            }" if (parenthesized_expression "(cVar1 == '\n')" ( (binary_expression "cVar1 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              *pcVar19 = '\0';\n            }" { (expression_statement "*pcVar19 = '\0';" (assignment_expression "*pcVar19 = '\0'" (pointer_expression "*pcVar19" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "aVar15 = aStack_128;" (assignment_expression "aVar15 = aStack_128" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever);" (call_expression "(**(code **)(pcVar27 + 0x68c90))(aVar14.whatever,aStack_128.whatever)" (parenthesized_expression "(**(code **)(pcVar27 + 0x68c90))" ( (pointer_expression "**(code **)(pcVar27 + 0x68c90)" * (pointer_expression "*(code **)(pcVar27 + 0x68c90)" * (cast_expression "(code **)(pcVar27 + 0x68c90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68c90)" ( (binary_expression "pcVar27 + 0x68c90" identifier + number_literal) ))))) )) (argument_list "(aVar14.whatever,aStack_128.whatever)" ( (field_expression "aVar14.whatever" identifier . field_identifier) , (field_expression "aStack_128.whatever" identifier . field_identifier) ))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);" (call_expression "(*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar27 + 0x68480))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar27 + 0x68480)" * (cast_expression "(code *)**(undefined4 **)(pcVar27 + 0x68480)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar27 + 0x68480)" * (pointer_expression "*(undefined4 **)(pcVar27 + 0x68480)" * (cast_expression "(undefined4 **)(pcVar27 + 0x68480)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68480)" ( (binary_expression "pcVar27 + 0x68480" identifier + number_literal) ))))))) )) (argument_list "(aStack_128.whatever)" ( (field_expression "aStack_128.whatever" identifier . field_identifier) ))) ;) (expression_statement "pCVar10 = pCStack_124;" (assignment_expression "pCVar10 = pCStack_124" identifier = identifier) ;) }))) (goto_statement "goto LAB_0003ddec;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever);" (call_expression "(*(code *)**(undefined4 **)(pcVar27 + 0x68480))(aStack_128.whatever)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar27 + 0x68480))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar27 + 0x68480)" * (cast_expression "(code *)**(undefined4 **)(pcVar27 + 0x68480)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar27 + 0x68480)" * (pointer_expression "*(undefined4 **)(pcVar27 + 0x68480)" * (cast_expression "(undefined4 **)(pcVar27 + 0x68480)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68480)" ( (binary_expression "pcVar27 + 0x68480" identifier + number_literal) ))))))) )) (argument_list "(aStack_128.whatever)" ( (field_expression "aStack_128.whatever" identifier . field_identifier) ))) ;) })) })) (expression_statement "pCVar10 = (Curl_easy *)&DAT_ffffffff;" (assignment_expression "pCVar10 = (Curl_easy *)&DAT_ffffffff" identifier = (cast_expression "(Curl_easy *)&DAT_ffffffff" ( (type_descriptor "Curl_easy *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_ffffffff" & identifier))) ;) (labeled_statement "LAB_0003ddec:\n  if (iStack_11c == *piVar23) {\n    return (CURLcode)pCVar10;\n  }" statement_identifier : (if_statement "if (iStack_11c == *piVar23) {\n    return (CURLcode)pCVar10;\n  }" if (parenthesized_expression "(iStack_11c == *piVar23)" ( (binary_expression "iStack_11c == *piVar23" identifier == (pointer_expression "*piVar23" * identifier)) )) (compound_statement "{\n    return (CURLcode)pCVar10;\n  }" { (return_statement "return (CURLcode)pCVar10;" return (cast_expression "(CURLcode)pCVar10" ( (type_descriptor "CURLcode" type_identifier) ) identifier) ;) }))) (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x68f90);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x68f90)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x68f90)" * (cast_expression "(code **)(pcVar27 + 0x68f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68f90)" ( (binary_expression "pcVar27 + 0x68f90" identifier + number_literal) ))))) ;) (expression_statement "iVar7 = iStack_11c;" (assignment_expression "iVar7 = iStack_11c" identifier = identifier) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar22 = 0;" (assignment_expression "iVar22 = 0" identifier = number_literal) ;) (expression_statement "iVar20 = *(int *)(pcVar27 + 0x68278);" (assignment_expression "iVar20 = *(int *)(pcVar27 + 0x68278)" identifier = (pointer_expression "*(int *)(pcVar27 + 0x68278)" * (cast_expression "(int *)(pcVar27 + 0x68278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x68278)" ( (binary_expression "pcVar27 + 0x68278" identifier + number_literal) ))))) ;) (expression_statement "iVar24 = *(int *)(pcVar27 + 0x682e0) + -0x3cc0;" (assignment_expression "iVar24 = *(int *)(pcVar27 + 0x682e0) + -0x3cc0" identifier = (binary_expression "*(int *)(pcVar27 + 0x682e0) + -0x3cc0" (pointer_expression "*(int *)(pcVar27 + 0x682e0)" * (cast_expression "(int *)(pcVar27 + 0x682e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x682e0)" ( (binary_expression "pcVar27 + 0x682e0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar11 = iVar20 + 0x54c4;" (assignment_expression "iVar11 = iVar20 + 0x54c4" identifier = (binary_expression "iVar20 + 0x54c4" identifier + number_literal)) ;) (while_statement "while( true ) {\n    uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever);\n    iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8);\n    if (iVar24 != 0) {\n      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);\n      if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }\n      *(int *)(iVar7 + 0x2d8) = iVar11;\n      return CURLE_OK;\n    }\n    iVar22 = iVar22 + 1;\n    if (iVar22 == 4) break;\n    iVar24 = *(int *)(iVar11 + 0xc);\n    iVar11 = iVar11 + 8;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever);\n    iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8);\n    if (iVar24 != 0) {\n      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);\n      if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }\n      *(int *)(iVar7 + 0x2d8) = iVar11;\n      return CURLE_OK;\n    }\n    iVar22 = iVar22 + 1;\n    if (iVar22 == 4) break;\n    iVar24 = *(int *)(iVar11 + 0xc);\n    iVar11 = iVar11 + 8;\n  }" { (expression_statement "uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever);" (assignment_expression "uVar8 = (**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever)" identifier = (call_expression "(**(code **)(pcVar27 + 0x68ff4))(aVar15.whatever)" (parenthesized_expression "(**(code **)(pcVar27 + 0x68ff4))" ( (pointer_expression "**(code **)(pcVar27 + 0x68ff4)" * (pointer_expression "*(code **)(pcVar27 + 0x68ff4)" * (cast_expression "(code **)(pcVar27 + 0x68ff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x68ff4)" ( (binary_expression "pcVar27 + 0x68ff4" identifier + number_literal) ))))) )) (argument_list "(aVar15.whatever)" ( (field_expression "aVar15.whatever" identifier . field_identifier) )))) ;) (expression_statement "iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8);" (assignment_expression "iVar24 = (**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8)" identifier = (call_expression "(**(code **)(pcVar27 + 0x69084))(aVar15.whatever,iVar24,uVar8)" (parenthesized_expression "(**(code **)(pcVar27 + 0x69084))" ( (pointer_expression "**(code **)(pcVar27 + 0x69084)" * (pointer_expression "*(code **)(pcVar27 + 0x69084)" * (cast_expression "(code **)(pcVar27 + 0x69084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x69084)" ( (binary_expression "pcVar27 + 0x69084" identifier + number_literal) ))))) )) (argument_list "(aVar15.whatever,iVar24,uVar8)" ( (field_expression "aVar15.whatever" identifier . field_identifier) , identifier , identifier )))) ;) (if_statement "if (iVar24 != 0) {\n      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);\n      if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }\n      *(int *)(iVar7 + 0x2d8) = iVar11;\n      return CURLE_OK;\n    }" if (parenthesized_expression "(iVar24 != 0)" ( (binary_expression "iVar24 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);\n      if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }\n      *(int *)(iVar7 + 0x2d8) = iVar11;\n      return CURLE_OK;\n    }" { (expression_statement "iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8);" (assignment_expression "iVar11 = *(int *)(iVar20 + 0x54c4 + iVar22 * 8)" identifier = (pointer_expression "*(int *)(iVar20 + 0x54c4 + iVar22 * 8)" * (cast_expression "(int *)(iVar20 + 0x54c4 + iVar22 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 0x54c4 + iVar22 * 8)" ( (binary_expression "iVar20 + 0x54c4 + iVar22 * 8" (binary_expression "iVar20 + 0x54c4" identifier + number_literal) + (binary_expression "iVar22 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar11 == 0) {\n        return ~CURLE_OK;\n      }" if (parenthesized_expression "(iVar11 == 0)" ( (binary_expression "iVar11 == 0" identifier == number_literal) )) (compound_statement "{\n        return ~CURLE_OK;\n      }" { (return_statement "return ~CURLE_OK;" return (unary_expression "~CURLE_OK" ~ identifier) ;) })) (expression_statement "*(int *)(iVar7 + 0x2d8) = iVar11;" (assignment_expression "*(int *)(iVar7 + 0x2d8) = iVar11" (pointer_expression "*(int *)(iVar7 + 0x2d8)" * (cast_expression "(int *)(iVar7 + 0x2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x2d8)" ( (binary_expression "iVar7 + 0x2d8" identifier + number_literal) )))) = identifier) ;) (return_statement "return CURLE_OK;" return identifier ;) })) (expression_statement "iVar22 = iVar22 + 1;" (assignment_expression "iVar22 = iVar22 + 1" identifier = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (if_statement "if (iVar22 == 4) break;" if (parenthesized_expression "(iVar22 == 4)" ( (binary_expression "iVar22 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar24 = *(int *)(iVar11 + 0xc);" (assignment_expression "iVar24 = *(int *)(iVar11 + 0xc)" identifier = (pointer_expression "*(int *)(iVar11 + 0xc)" * (cast_expression "(int *)(iVar11 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar11 + 0xc)" ( (binary_expression "iVar11 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar11 = iVar11 + 8;" (assignment_expression "iVar11 = iVar11 + 8" identifier = (binary_expression "iVar11 + 8" identifier + number_literal)) ;) })) (return_statement "return ~CURLE_OK;" return (unary_expression "~CURLE_OK" ~ identifier) ;) })))
(translation_unit "undefined4 *******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}\n\n" (function_definition "undefined4 *******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}" type_identifier (pointer_declarator "*******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "*****\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "****\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "***\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "**\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (pointer_declarator "*\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" * (function_declarator "FUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *******param_2" type_identifier (pointer_declarator "*******param_2" * (pointer_declarator "******param_2" * (pointer_declarator "*****param_2" * (pointer_declarator "****param_2" * (pointer_declarator "***param_2" * (pointer_declarator "**param_2" * (pointer_declarator "*param_2" * identifier)))))))) , (parameter_declaration "undefined4 ******param_3" type_identifier (pointer_declarator "******param_3" * (pointer_declarator "*****param_3" * (pointer_declarator "****param_3" * (pointer_declarator "***param_3" * (pointer_declarator "**param_3" * (pointer_declarator "*param_3" * identifier))))))) )))))))))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *******pppppppuVar3;" type_identifier (pointer_declarator "*******pppppppuVar3" * (pointer_declarator "******pppppppuVar3" * (pointer_declarator "*****pppppppuVar3" * (pointer_declarator "****pppppppuVar3" * (pointer_declarator "***pppppppuVar3" * (pointer_declarator "**pppppppuVar3" * (pointer_declarator "*pppppppuVar3" * identifier))))))) ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 ******ppppppuVar5;" type_identifier (pointer_declarator "******ppppppuVar5" * (pointer_declarator "*****ppppppuVar5" * (pointer_declarator "****ppppppuVar5" * (pointer_declarator "***ppppppuVar5" * (pointer_declarator "**ppppppuVar5" * (pointer_declarator "*ppppppuVar5" * identifier)))))) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined1 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *******pppppppuVar8;" type_identifier (pointer_declarator "*******pppppppuVar8" * (pointer_declarator "******pppppppuVar8" * (pointer_declarator "*****pppppppuVar8" * (pointer_declarator "****pppppppuVar8" * (pointer_declarator "***pppppppuVar8" * (pointer_declarator "**pppppppuVar8" * (pointer_declarator "*pppppppuVar8" * identifier))))))) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar10;" type_identifier (pointer_declarator "*******pppppppuVar10" * (pointer_declarator "******pppppppuVar10" * (pointer_declarator "*****pppppppuVar10" * (pointer_declarator "****pppppppuVar10" * (pointer_declarator "***pppppppuVar10" * (pointer_declarator "**pppppppuVar10" * (pointer_declarator "*pppppppuVar10" * identifier))))))) ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *******pppppppuVar12;" type_identifier (pointer_declarator "*******pppppppuVar12" * (pointer_declarator "******pppppppuVar12" * (pointer_declarator "*****pppppppuVar12" * (pointer_declarator "****pppppppuVar12" * (pointer_declarator "***pppppppuVar12" * (pointer_declarator "**pppppppuVar12" * (pointer_declarator "*pppppppuVar12" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar13;" type_identifier (pointer_declarator "*******pppppppuVar13" * (pointer_declarator "******pppppppuVar13" * (pointer_declarator "*****pppppppuVar13" * (pointer_declarator "****pppppppuVar13" * (pointer_declarator "***pppppppuVar13" * (pointer_declarator "**pppppppuVar13" * (pointer_declarator "*pppppppuVar13" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar14;" type_identifier (pointer_declarator "*******pppppppuVar14" * (pointer_declarator "******pppppppuVar14" * (pointer_declarator "*****pppppppuVar14" * (pointer_declarator "****pppppppuVar14" * (pointer_declarator "***pppppppuVar14" * (pointer_declarator "**pppppppuVar14" * (pointer_declarator "*pppppppuVar14" * identifier))))))) ;) (declaration "undefined4 *******pppppppuVar15;" type_identifier (pointer_declarator "*******pppppppuVar15" * (pointer_declarator "******pppppppuVar15" * (pointer_declarator "*****pppppppuVar15" * (pointer_declarator "****pppppppuVar15" * (pointer_declarator "***pppppppuVar15" * (pointer_declarator "**pppppppuVar15" * (pointer_declarator "*pppppppuVar15" * identifier))))))) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "int iVar17;" primitive_type identifier ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar19;" type_identifier (pointer_declarator "*******pppppppuVar19" * (pointer_declarator "******pppppppuVar19" * (pointer_declarator "*****pppppppuVar19" * (pointer_declarator "****pppppppuVar19" * (pointer_declarator "***pppppppuVar19" * (pointer_declarator "**pppppppuVar19" * (pointer_declarator "*pppppppuVar19" * identifier))))))) ;) (declaration "int *piVar20;" primitive_type (pointer_declarator "*piVar20" * identifier) ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "undefined4 *******pppppppuVar22;" type_identifier (pointer_declarator "*******pppppppuVar22" * (pointer_declarator "******pppppppuVar22" * (pointer_declarator "*****pppppppuVar22" * (pointer_declarator "****pppppppuVar22" * (pointer_declarator "***pppppppuVar22" * (pointer_declarator "**pppppppuVar22" * (pointer_declarator "*pppppppuVar22" * identifier))))))) ;) (declaration "undefined4 ******ppppppuVar23;" type_identifier (pointer_declarator "******ppppppuVar23" * (pointer_declarator "*****ppppppuVar23" * (pointer_declarator "****ppppppuVar23" * (pointer_declarator "***ppppppuVar23" * (pointer_declarator "**ppppppuVar23" * (pointer_declarator "*ppppppuVar23" * identifier)))))) ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "undefined4 ******ppppppuStack_128;" type_identifier (pointer_declarator "******ppppppuStack_128" * (pointer_declarator "*****ppppppuStack_128" * (pointer_declarator "****ppppppuStack_128" * (pointer_declarator "***ppppppuStack_128" * (pointer_declarator "**ppppppuStack_128" * (pointer_declarator "*ppppppuStack_128" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_124;" type_identifier (pointer_declarator "******ppppppuStack_124" * (pointer_declarator "*****ppppppuStack_124" * (pointer_declarator "****ppppppuStack_124" * (pointer_declarator "***ppppppuStack_124" * (pointer_declarator "**ppppppuStack_124" * (pointer_declarator "*ppppppuStack_124" * identifier)))))) ;) (declaration "int iStack_120;" primitive_type identifier ;) (declaration "int iStack_11c;" primitive_type identifier ;) (declaration "undefined4 ******ppppppuStack_114;" type_identifier (pointer_declarator "******ppppppuStack_114" * (pointer_declarator "*****ppppppuStack_114" * (pointer_declarator "****ppppppuStack_114" * (pointer_declarator "***ppppppuStack_114" * (pointer_declarator "**ppppppuStack_114" * (pointer_declarator "*ppppppuStack_114" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_110;" type_identifier (pointer_declarator "******ppppppuStack_110" * (pointer_declarator "*****ppppppuStack_110" * (pointer_declarator "****ppppppuStack_110" * (pointer_declarator "***ppppppuStack_110" * (pointer_declarator "**ppppppuStack_110" * (pointer_declarator "*ppppppuStack_110" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_10c;" type_identifier (pointer_declarator "******ppppppuStack_10c" * (pointer_declarator "*****ppppppuStack_10c" * (pointer_declarator "****ppppppuStack_10c" * (pointer_declarator "***ppppppuStack_10c" * (pointer_declarator "**ppppppuStack_10c" * (pointer_declarator "*ppppppuStack_10c" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_108;" type_identifier (pointer_declarator "******ppppppuStack_108" * (pointer_declarator "*****ppppppuStack_108" * (pointer_declarator "****ppppppuStack_108" * (pointer_declarator "***ppppppuStack_108" * (pointer_declarator "**ppppppuStack_108" * (pointer_declarator "*ppppppuStack_108" * identifier)))))) ;) (declaration "code *pcStack_104;" type_identifier (pointer_declarator "*pcStack_104" * identifier) ;) (declaration "undefined4 ******ppppppuStack_f0;" type_identifier (pointer_declarator "******ppppppuStack_f0" * (pointer_declarator "*****ppppppuStack_f0" * (pointer_declarator "****ppppppuStack_f0" * (pointer_declarator "***ppppppuStack_f0" * (pointer_declarator "**ppppppuStack_f0" * (pointer_declarator "*ppppppuStack_f0" * identifier)))))) ;) (declaration "code *pcStack_e8;" type_identifier (pointer_declarator "*pcStack_e8" * identifier) ;) (declaration "undefined4 ******ppppppuStack_e0;" type_identifier (pointer_declarator "******ppppppuStack_e0" * (pointer_declarator "*****ppppppuStack_e0" * (pointer_declarator "****ppppppuStack_e0" * (pointer_declarator "***ppppppuStack_e0" * (pointer_declarator "**ppppppuStack_e0" * (pointer_declarator "*ppppppuStack_e0" * identifier)))))) ;) (declaration "int *piStack_dc;" primitive_type (pointer_declarator "*piStack_dc" * identifier) ;) (declaration "undefined4 ******ppppppuStack_d8;" type_identifier (pointer_declarator "******ppppppuStack_d8" * (pointer_declarator "*****ppppppuStack_d8" * (pointer_declarator "****ppppppuStack_d8" * (pointer_declarator "***ppppppuStack_d8" * (pointer_declarator "**ppppppuStack_d8" * (pointer_declarator "*ppppppuStack_d8" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_d4;" type_identifier (pointer_declarator "******ppppppuStack_d4" * (pointer_declarator "*****ppppppuStack_d4" * (pointer_declarator "****ppppppuStack_d4" * (pointer_declarator "***ppppppuStack_d4" * (pointer_declarator "**ppppppuStack_d4" * (pointer_declarator "*ppppppuStack_d4" * identifier)))))) ;) (declaration "undefined4 ******ppppppuStack_d0;" type_identifier (pointer_declarator "******ppppppuStack_d0" * (pointer_declarator "*****ppppppuStack_d0" * (pointer_declarator "****ppppppuStack_d0" * (pointer_declarator "***ppppppuStack_d0" * (pointer_declarator "**ppppppuStack_d0" * (pointer_declarator "*ppppppuStack_d0" * identifier)))))) ;) (declaration "int *piStack_cc;" primitive_type (pointer_declarator "*piStack_cc" * identifier) ;) (declaration "undefined *puStack_c8;" type_identifier (pointer_declarator "*puStack_c8" * identifier) ;) (declaration "undefined4 uStack_c4;" type_identifier identifier ;) (declaration "undefined4 ******ppppppuStack_94;" type_identifier (pointer_declarator "******ppppppuStack_94" * (pointer_declarator "*****ppppppuStack_94" * (pointer_declarator "****ppppppuStack_94" * (pointer_declarator "***ppppppuStack_94" * (pointer_declarator "**ppppppuStack_94" * (pointer_declarator "*ppppppuStack_94" * identifier)))))) ;) (declaration "undefined4 uStack_90;" type_identifier identifier ;) (declaration "undefined4 ******ppppppuStack_8c;" type_identifier (pointer_declarator "******ppppppuStack_8c" * (pointer_declarator "*****ppppppuStack_8c" * (pointer_declarator "****ppppppuStack_8c" * (pointer_declarator "***ppppppuStack_8c" * (pointer_declarator "**ppppppuStack_8c" * (pointer_declarator "*ppppppuStack_8c" * identifier)))))) ;) (declaration "undefined4 *****apppppuStack_88 [13];" type_identifier (pointer_declarator "*****apppppuStack_88 [13]" * (pointer_declarator "****apppppuStack_88 [13]" * (pointer_declarator "***apppppuStack_88 [13]" * (pointer_declarator "**apppppuStack_88 [13]" * (pointer_declarator "*apppppuStack_88 [13]" * (array_declarator "apppppuStack_88 [13]" identifier [ number_literal ])))))) ;) (declaration "undefined4 ******ppppppuStack_54;" type_identifier (pointer_declarator "******ppppppuStack_54" * (pointer_declarator "*****ppppppuStack_54" * (pointer_declarator "****ppppppuStack_54" * (pointer_declarator "***ppppppuStack_54" * (pointer_declarator "**ppppppuStack_54" * (pointer_declarator "*ppppppuStack_54" * identifier)))))) ;) (declaration "undefined4 *****pppppuStack_50;" type_identifier (pointer_declarator "*****pppppuStack_50" * (pointer_declarator "****pppppuStack_50" * (pointer_declarator "***pppppuStack_50" * (pointer_declarator "**pppppuStack_50" * (pointer_declarator "*pppppuStack_50" * identifier))))) ;) (declaration "undefined4 ******ppppppuStack_4c;" type_identifier (pointer_declarator "******ppppppuStack_4c" * (pointer_declarator "*****ppppppuStack_4c" * (pointer_declarator "****ppppppuStack_4c" * (pointer_declarator "***ppppppuStack_4c" * (pointer_declarator "**ppppppuStack_4c" * (pointer_declarator "*ppppppuStack_4c" * identifier)))))) ;) (declaration "undefined4 uStack_48;" type_identifier identifier ;) (declaration "code *pcStack_44;" type_identifier (pointer_declarator "*pcStack_44" * identifier) ;) (declaration "undefined4 *****pppppuStack_38;" type_identifier (pointer_declarator "*****pppppuStack_38" * (pointer_declarator "****pppppuStack_38" * (pointer_declarator "***pppppuStack_38" * (pointer_declarator "**pppppuStack_38" * (pointer_declarator "*pppppuStack_38" * identifier))))) ;) (declaration "int *piStack_34;" primitive_type (pointer_declarator "*piStack_34" * identifier) ;) (declaration "int local_28;" primitive_type identifier ;) (declaration "undefined4 ******local_24;" type_identifier (pointer_declarator "******local_24" * (pointer_declarator "*****local_24" * (pointer_declarator "****local_24" * (pointer_declarator "***local_24" * (pointer_declarator "**local_24" * (pointer_declarator "*local_24" * identifier)))))) ;) (expression_statement "puVar2 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000a6fe0" identifier = identifier) ;) (expression_statement "local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0" identifier = (pointer_expression "*(undefined4 *******)PTR___stack_chk_guard_000a6fe0" * (cast_expression "(undefined4 *******)PTR___stack_chk_guard_000a6fe0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier))) ;) (do_statement "do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);" do (compound_statement "{\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  }" { (while_statement "while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }" while (parenthesized_expression "(pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0)" ( (comma_expression "pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar8 = param_2" identifier = identifier) , (comma_expression "ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "ppppppuVar5 = param_3" identifier = identifier) , (comma_expression "piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "piVar11 = &local_28" identifier = (pointer_expression "&local_28" & identifier)) , (comma_expression "pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1)" identifier = (cast_expression "(undefined4 *******)FUN_00025d80(param_1)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_00025d80(param_1)" identifier (argument_list "(param_1)" ( identifier ))))) , (binary_expression "pppppppuVar3 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)))))) )) (compound_statement "{\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }" { (if_statement "if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;" if (parenthesized_expression "(pppppppuVar3 != (undefined4 *******)0x51)" ( (binary_expression "pppppppuVar3 != (undefined4 *******)0x51" identifier != (cast_expression "(undefined4 *******)0x51" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (goto_statement "goto LAB_0003d944;" goto statement_identifier ;)) })) (expression_statement "param_3 = (undefined4 ******)((int)param_3 - local_28);" (assignment_expression "param_3 = (undefined4 ******)((int)param_3 - local_28)" identifier = (cast_expression "(undefined4 ******)((int)param_3 - local_28)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)param_3 - local_28)" ( (binary_expression "(int)param_3 - local_28" (cast_expression "(int)param_3" ( (type_descriptor "int" primitive_type) ) identifier) - identifier) )))) ;) (expression_statement "param_2 = (undefined4 *******)((int)param_2 + local_28);" (assignment_expression "param_2 = (undefined4 *******)((int)param_2 + local_28)" identifier = (cast_expression "(undefined4 *******)((int)param_2 + local_28)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)param_2 + local_28)" ( (binary_expression "(int)param_2 + local_28" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) }) while (parenthesized_expression "(param_3 != (undefined4 ******)0x0)" ( (binary_expression "param_3 != (undefined4 ******)0x0" identifier != (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) ;) (labeled_statement "LAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }" statement_identifier : (if_statement "if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }" if (parenthesized_expression "((undefined4 *******)local_24 == *(undefined4 ********)puVar2)" ( (binary_expression "(undefined4 *******)local_24 == *(undefined4 ********)puVar2" (cast_expression "(undefined4 *******)local_24" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (pointer_expression "*(undefined4 ********)puVar2" * (cast_expression "(undefined4 ********)puVar2" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) identifier))) )) (compound_statement "{\n    return pppppppuVar3;\n  }" { (return_statement "return pppppppuVar3;" return identifier ;) }))) (expression_statement "pcVar26 = FUN_0003d990;" (assignment_expression "pcVar26 = FUN_0003d990" identifier = identifier) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)local_24;" (assignment_expression "pppppppuVar19 = (undefined4 *******)local_24" identifier = (cast_expression "(undefined4 *******)local_24" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "puVar25 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar25 = PTR___stack_chk_fail_000a6c54" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" * (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "pppppppuVar13 = (undefined4 *******)&pppppuStack_38;" (assignment_expression "pppppppuVar13 = (undefined4 *******)&pppppuStack_38" identifier = (cast_expression "(undefined4 *******)&pppppuStack_38" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (pointer_expression "&pppppuStack_38" & identifier))) ;) (expression_statement "pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);" (assignment_expression "pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650)" identifier = (pointer_expression "*(undefined4 ********)(puVar25 + 0x69650)" * (cast_expression "(undefined4 ********)(puVar25 + 0x69650)" ( (type_descriptor "undefined4 ********" type_identifier (abstract_pointer_declarator "********" * (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))))) ) (parenthesized_expression "(puVar25 + 0x69650)" ( (binary_expression "puVar25 + 0x69650" identifier + number_literal) ))))) ;) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" identifier = number_literal) ;) (expression_statement "ppppppuStack_54 = *pppppppuVar3;" (assignment_expression "ppppppuStack_54 = *pppppppuVar3" identifier = (pointer_expression "*pppppppuVar3" * identifier)) ;) (expression_statement "ppppppuStack_8c = pppppppuVar13;" (assignment_expression "ppppppuStack_8c = pppppppuVar13" identifier = identifier) ;) (expression_statement "pppppuStack_50 = param_3;" (assignment_expression "pppppuStack_50 = param_3" identifier = identifier) ;) (expression_statement "ppppppuStack_4c = param_2;" (assignment_expression "ppppppuStack_4c = param_2" identifier = identifier) ;) (expression_statement "uStack_48 = param_1;" (assignment_expression "uStack_48 = param_1" identifier = identifier) ;) (expression_statement "pcStack_44 = pcVar26;" (assignment_expression "pcStack_44 = pcVar26" identifier = identifier) ;) (expression_statement "pppppuStack_38 = ppppppuVar5;" (assignment_expression "pppppuStack_38 = ppppppuVar5" identifier = identifier) ;) (expression_statement "piStack_34 = piVar11;" (assignment_expression "piStack_34 = piVar11" identifier = identifier) ;) (expression_statement "(**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);" (call_expression "(**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32)" (parenthesized_expression "(**(code **)(puVar25 + 0x69494))" ( (pointer_expression "**(code **)(puVar25 + 0x69494)" * (pointer_expression "*(code **)(puVar25 + 0x69494)" * (cast_expression "(code **)(puVar25 + 0x69494)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x69494)" ( (binary_expression "puVar25 + 0x69494" identifier + number_literal) ))))) )) (argument_list "(apppppuStack_88,0x32)" ( identifier , number_literal ))) ;) (expression_statement "pppppppuVar12 = (undefined4 *******)apppppuStack_88;" (assignment_expression "pppppppuVar12 = (undefined4 *******)apppppuStack_88" identifier = (cast_expression "(undefined4 *******)apppppuStack_88" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "iVar4 = FUN_0002d378(pppppppuVar19);" (assignment_expression "iVar4 = FUN_0002d378(pppppppuVar19)" identifier = (call_expression "FUN_0002d378(pppppppuVar19)" identifier (argument_list "(pppppppuVar19)" ( identifier )))) ;) (if_statement "if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }" { (expression_statement "pppppppuVar8 = &ppppppuStack_94;" (assignment_expression "pppppppuVar8 = &ppppppuStack_94" identifier = (pointer_expression "&ppppppuStack_94" & identifier)) ;) (expression_statement "pppppppuVar12 = pppppppuVar19;" (assignment_expression "pppppppuVar12 = pppppppuVar19" identifier = identifier) ;) (expression_statement "iVar4 = FUN_0002a2c8(&uStack_90);" (assignment_expression "iVar4 = FUN_0002a2c8(&uStack_90)" identifier = (call_expression "FUN_0002a2c8(&uStack_90)" identifier (argument_list "(&uStack_90)" ( (pointer_expression "&uStack_90" & identifier) )))) ;) (if_statement "if (iVar4 != 0) goto LAB_0003da14;" if (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0003da14;" goto statement_identifier ;)) }) (else_clause "else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" else (compound_statement "{\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" { (labeled_statement "LAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;" statement_identifier : (expression_statement "ppppppuStack_94 = (undefined4 *******)0xffffffff;" (assignment_expression "ppppppuStack_94 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) }))) (if_statement "if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }" if (parenthesized_expression "(ppppppuStack_54 == *pppppppuVar3)" ( (binary_expression "ppppppuStack_54 == *pppppppuVar3" identifier == (pointer_expression "*pppppppuVar3" * identifier)) )) (compound_statement "{\n    return (undefined4 *******)ppppppuStack_94;\n  }" { (return_statement "return (undefined4 *******)ppppppuStack_94;" return (cast_expression "(undefined4 *******)ppppppuStack_94" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) ;) })) (expression_statement "pcVar26 = *(code **)(puVar25 + 0x692c4);" (assignment_expression "pcVar26 = *(code **)(puVar25 + 0x692c4)" identifier = (pointer_expression "*(code **)(puVar25 + 0x692c4)" * (cast_expression "(code **)(puVar25 + 0x692c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x692c4)" ( (binary_expression "puVar25 + 0x692c4" identifier + number_literal) ))))) ;) (expression_statement "pppppppuVar10 = (undefined4 *******)ppppppuStack_54;" (assignment_expression "pppppppuVar10 = (undefined4 *******)ppppppuStack_54" identifier = (cast_expression "(undefined4 *******)ppppppuStack_54" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pcStack_e8 = pcVar26 + 0x706a4;" (assignment_expression "pcStack_e8 = pcVar26 + 0x706a4" identifier = (binary_expression "pcVar26 + 0x706a4" identifier + number_literal)) ;) (expression_statement "ppppppuVar5 = pppppppuVar10[0xb3];" (assignment_expression "ppppppuVar5 = pppppppuVar10[0xb3]" identifier = (subscript_expression "pppppppuVar10[0xb3]" identifier [ number_literal ])) ;) (expression_statement "puVar24 = *(undefined4 **)(pcVar26 + 0x69574);" (assignment_expression "puVar24 = *(undefined4 **)(pcVar26 + 0x69574)" identifier = (pointer_expression "*(undefined4 **)(pcVar26 + 0x69574)" * (cast_expression "(undefined4 **)(pcVar26 + 0x69574)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69574)" ( (binary_expression "pcVar26 + 0x69574" identifier + number_literal) ))))) ;) (expression_statement "pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;" (assignment_expression "pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66" identifier = (binary_expression "pppppppuVar10 + (int)pppppppuVar12 + 0x66" (binary_expression "pppppppuVar10 + (int)pppppppuVar12" identifier + (cast_expression "(int)pppppppuVar12" ( (type_descriptor "int" primitive_type) ) identifier)) + number_literal)) ;) (expression_statement "uStack_c4 = 0x51;" (assignment_expression "uStack_c4 = 0x51" identifier = number_literal) ;) (expression_statement "piStack_dc = (int *)*puVar24;" (assignment_expression "piStack_dc = (int *)*puVar24" identifier = (cast_expression "(int *)*puVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar24" * identifier))) ;) (expression_statement "ppppppuVar23 = *pppppppuVar12;" (assignment_expression "ppppppuVar23 = *pppppppuVar12" identifier = (pointer_expression "*pppppppuVar12" * identifier)) ;) (expression_statement "puStack_c8 = puVar2;" (assignment_expression "puStack_c8 = puVar2" identifier = identifier) ;) (expression_statement "*(undefined4 *)(puVar25 + 0x70780) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + 0x70780) = 0" (pointer_expression "*(undefined4 *)(puVar25 + 0x70780)" * (cast_expression "(undefined4 *)(puVar25 + 0x70780)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x70780)" ( (binary_expression "puVar25 + 0x70780" identifier + number_literal) )))) = number_literal) ;) (expression_statement "pppppppuVar15 = (undefined4 *******)apppppuStack_88;" (assignment_expression "pppppppuVar15 = (undefined4 *******)apppppuStack_88" identifier = (cast_expression "(undefined4 *******)apppppuStack_88" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuStack_d8 = apppppuStack_88;" (assignment_expression "ppppppuStack_d8 = apppppuStack_88" identifier = identifier) ;) (expression_statement "ppppppuStack_d4 = pppppppuVar3;" (assignment_expression "ppppppuStack_d4 = pppppppuVar3" identifier = identifier) ;) (expression_statement "ppppppuStack_d0 = pppppppuVar19;" (assignment_expression "ppppppuStack_d0 = pppppppuVar19" identifier = identifier) ;) (expression_statement "piStack_cc = &local_28;" (assignment_expression "piStack_cc = &local_28" identifier = (pointer_expression "&local_28" & identifier)) ;) (if_statement "if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" if (parenthesized_expression "((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1))" ( (binary_expression "(ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)" (parenthesized_expression "(ppppppuVar5 == (undefined4 ******)0x0)" ( (binary_expression "ppppppuVar5 == (undefined4 ******)0x0" identifier == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) || (parenthesized_expression "(pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)" ( (comma_expression "pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1" (assignment_expression "pppppppuVar15 = pppppppuVar10" identifier = identifier) , (binary_expression "pppppppuVar10[0xb5] == (undefined4 ******)0x1" (subscript_expression "pppppppuVar10[0xb5]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)0x1" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal))) ))) )) (compound_statement "{\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }" { (expression_statement "pppppppuVar12 = pppppppuVar8;" (assignment_expression "pppppppuVar12 = pppppppuVar8" identifier = identifier) ;) (expression_statement "pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);" (assignment_expression "pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" identifier = (cast_expression "(undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68f9c))" ( (pointer_expression "**(code **)(pcVar26 + 0x68f9c)" * (pointer_expression "*(code **)(pcVar26 + 0x68f9c)" * (cast_expression "(code **)(pcVar26 + 0x68f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68f9c)" ( (binary_expression "pcVar26 + 0x68f9c" identifier + number_literal) ))))) )) (argument_list "(ppppppuVar23)" ( identifier ))))) ;) (expression_statement "pppppppuVar14 = pppppppuVar13;" (assignment_expression "pppppppuVar14 = pppppppuVar13" identifier = identifier) ;) (expression_statement "pppppppuVar10 = pppppppuVar15;" (assignment_expression "pppppppuVar10 = pppppppuVar15" identifier = identifier) ;) }) (else_clause "else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" else (if_statement "if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" if (parenthesized_expression "(pppppppuVar10[0xbb] == (undefined4 ******)0x0)" ( (binary_expression "pppppppuVar10[0xbb] == (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xbb]" identifier [ number_literal ]) == (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) )) (compound_statement "{\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }" { (expression_statement "pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);" (assignment_expression "pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" ( (binary_expression "(int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]" (cast_expression "(int)pppppppuVar10[0xb9]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xb9]" identifier [ number_literal ])) - (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]))) )))) ;) (expression_statement "pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);" (assignment_expression "pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" ( (binary_expression "(int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]" (cast_expression "(int)pppppppuVar10[0xb8]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ])) + (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]))) )))) ;) (if_statement "if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }" if (parenthesized_expression "(pppppppuVar13 < pppppppuVar3)" ( (binary_expression "pppppppuVar13 < pppppppuVar3" identifier < identifier) )) (compound_statement "{\n      pppppppuVar3 = pppppppuVar13;\n    }" { (expression_statement "pppppppuVar3 = pppppppuVar13;" (assignment_expression "pppppppuVar3 = pppppppuVar13" identifier = identifier) ;) })) (expression_statement "pppppppuVar14 = pppppppuVar3;" (assignment_expression "pppppppuVar14 = pppppppuVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar26 + 0x69480))(pppppppuVar8);" (call_expression "(**(code **)(pcVar26 + 0x69480))(pppppppuVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69480))" ( (pointer_expression "**(code **)(pcVar26 + 0x69480)" * (pointer_expression "*(code **)(pcVar26 + 0x69480)" * (cast_expression "(code **)(pcVar26 + 0x69480)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69480)" ( (binary_expression "pcVar26 + 0x69480" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar8)" ( identifier ))) ;) (expression_statement "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar8 + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar8 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);" (assignment_expression "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar13 - (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar13 - (int)pppppppuVar3" (cast_expression "(int)pppppppuVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar10[0xba] + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ])) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar22 = pppppppuVar3;" (assignment_expression "pppppppuVar22 = pppppppuVar3" identifier = identifier) ;) (if_statement "if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }" if (parenthesized_expression "(pppppppuVar19 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar19 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }" { (do_statement "do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);" do (compound_statement "{\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      }" { (expression_statement "pppppppuVar14 = (undefined4 *******)0x4;" (assignment_expression "pppppppuVar14 = (undefined4 *******)0x4" identifier = (cast_expression "(undefined4 *******)0x4" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar12 = &ppppppuStack_e0;" (assignment_expression "pppppppuVar12 = &ppppppuStack_e0" identifier = (pointer_expression "&ppppppuStack_e0" & identifier)) ;) (expression_statement "iVar4 = FUN_0003d8c4(ppppppuVar23);" (assignment_expression "iVar4 = FUN_0003d8c4(ppppppuVar23)" identifier = (call_expression "FUN_0003d8c4(ppppppuVar23)" identifier (argument_list "(ppppppuVar23)" ( identifier )))) ;) (if_statement "if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }" if (parenthesized_expression "((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0))" ( (binary_expression "(iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" (parenthesized_expression "(iVar4 != 0)" ( (binary_expression "iVar4 != 0" identifier != number_literal) )) || (parenthesized_expression "(pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" ( (comma_expression "pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (assignment_expression "pppppppuVar12 = (undefined4 *******)ppppppuStack_e0" identifier = (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) , (binary_expression "(undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal))) ))) )) (compound_statement "{\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }" { (labeled_statement "LAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;" statement_identifier : (expression_statement "pppppppuVar22 = (undefined4 *******)0xffffffff;" (assignment_expression "pppppppuVar22 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;)) (break_statement "break;" break ;) })) (expression_statement "pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);" (assignment_expression "pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8])" identifier = (cast_expression "(undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "FUN_0004e494(pppppppuVar10[0xb8])" identifier (argument_list "(pppppppuVar10[0xb8])" ( (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppuVar10[0xb8] = pppppppuVar13;" (assignment_expression "pppppppuVar10[0xb8] = pppppppuVar13" (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]) = identifier) ;) (expression_statement "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;" (assignment_expression "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0" identifier = (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (if_statement "if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;" if (parenthesized_expression "(((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))" ( (binary_expression "((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)))" (parenthesized_expression "((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" ( (binary_expression "(undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier) == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) || (parenthesized_expression "((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)))" ( (parenthesized_expression "(pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))" ( (binary_expression "pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)" (binary_expression "pppppppuVar13 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) || (parenthesized_expression "(iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)" ( (comma_expression "iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0" (assignment_expression "iVar4 = FUN_0003d8c4(ppppppuVar23)" identifier = (call_expression "FUN_0003d8c4(ppppppuVar23)" identifier (argument_list "(ppppppuVar23)" ( identifier )))) , (comma_expression "pppppppuVar12 = pppppppuVar13, iVar4 != 0" (assignment_expression "pppppppuVar12 = pppppppuVar13" identifier = identifier) , (binary_expression "iVar4 != 0" identifier != number_literal))) ))) )) ))) )) (goto_statement "goto LAB_0003dbc0;" goto statement_identifier ;)) (expression_statement "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];" (assignment_expression "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8]" identifier = (cast_expression "(undefined4 *******)pppppppuVar10[0xb8]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;" (assignment_expression "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0" identifier = (cast_expression "(undefined4 *******)ppppppuStack_e0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "ppppppuStack_f0 = pppppppuVar10;" (assignment_expression "ppppppuStack_f0 = pppppppuVar10" identifier = identifier) ;) (expression_statement "pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);" (assignment_expression "pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" identifier = (cast_expression "(undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (call_expression "(*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" (parenthesized_expression "(*(code *)pppppppuVar10[0xbd][8])" ( (pointer_expression "*(code *)pppppppuVar10[0xbd][8]" * (cast_expression "(code *)pppppppuVar10[0xbd][8]" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "pppppppuVar10[0xbd][8]" (subscript_expression "pppppppuVar10[0xbd]" identifier [ number_literal ]) [ number_literal ]))) )) (argument_list "(pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" ( (subscript_expression "pppppppuVar10[0xbc]" identifier [ number_literal ]) , identifier , identifier , (subscript_expression "pppppppuVar10[0xb5]" identifier [ number_literal ]) ))))) ;) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)0x0;" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppuVar10[0xb9] = pppppppuVar13;" (assignment_expression "pppppppuVar10[0xb9] = pppppppuVar13" (subscript_expression "pppppppuVar10[0xb9]" identifier [ number_literal ]) = identifier) ;) (if_statement "if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }" if (parenthesized_expression "(pppppppuVar13 == (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar13 == (undefined4 *******)0x0" identifier == (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }" { (expression_statement "pppppppuVar22 = pppppppuVar3;" (assignment_expression "pppppppuVar22 = pppppppuVar3" identifier = identifier) ;) (if_statement "if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }" if (parenthesized_expression "(pppppppuVar3 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar3 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) (compound_statement "{\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }" { (expression_statement "pppppppuVar10[0xbb] = (undefined4 ******)0x1;" (assignment_expression "pppppppuVar10[0xbb] = (undefined4 ******)0x1" (subscript_expression "pppppppuVar10[0xbb]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x1" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) })) (break_statement "break;" break ;) })) (expression_statement "pppppppuVar3 = pppppppuVar13;" (assignment_expression "pppppppuVar3 = pppppppuVar13" identifier = identifier) ;) (if_statement "if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }" if (parenthesized_expression "(pppppppuVar19 <= pppppppuVar13)" ( (binary_expression "pppppppuVar19 <= pppppppuVar13" identifier <= identifier) )) (compound_statement "{\n          pppppppuVar3 = pppppppuVar19;\n        }" { (expression_statement "pppppppuVar3 = pppppppuVar19;" (assignment_expression "pppppppuVar3 = pppppppuVar19" identifier = identifier) ;) })) (expression_statement "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];" (assignment_expression "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8]" identifier = (cast_expression "(undefined4 *******)pppppppuVar10[0xb8]" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (subscript_expression "pppppppuVar10[0xb8]" identifier [ number_literal ]))) ;) (expression_statement "pppppppuVar14 = pppppppuVar3;" (assignment_expression "pppppppuVar14 = pppppppuVar3" identifier = identifier) ;) (expression_statement "(**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);" (call_expression "(**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8)" (parenthesized_expression "(**(code **)(pcStack_e8 + -0x7224))" ( (pointer_expression "**(code **)(pcStack_e8 + -0x7224)" * (pointer_expression "*(code **)(pcStack_e8 + -0x7224)" * (cast_expression "(code **)(pcStack_e8 + -0x7224)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x7224)" ( (binary_expression "pcStack_e8 + -0x7224" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar8)" ( identifier ))) ;) (expression_statement "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);" (assignment_expression "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar19 - (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar19 - (int)pppppppuVar3" (cast_expression "(int)pppppppuVar19" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar22 + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar22 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar22" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" identifier = (cast_expression "(undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) (parenthesized_expression "((int)pppppppuVar8 + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar8 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar8" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) (parenthesized_expression "((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" ( (binary_expression "(int)pppppppuVar10[0xba] + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar10[0xba]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "pppppppuVar10[0xba]" identifier [ number_literal ])) + (cast_expression "(int)pppppppuVar3" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) }) while (parenthesized_expression "(pppppppuVar19 != (undefined4 *******)0x0)" ( (binary_expression "pppppppuVar19 != (undefined4 *******)0x0" identifier != (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) )) ;) })) }) (else_clause "else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" else (compound_statement "{\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" { (expression_statement "pppppppuVar10[0xbb] = (undefined4 ******)0x0;" (assignment_expression "pppppppuVar10[0xbb] = (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xbb]" identifier [ number_literal ]) = (cast_expression "(undefined4 ******)0x0" ( (type_descriptor "undefined4 ******" type_identifier (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))))))) ) number_literal)) ;) (expression_statement "pppppppuVar22 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar22 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "pppppppuVar14 = pppppppuVar8;" (assignment_expression "pppppppuVar14 = pppppppuVar8" identifier = identifier) ;) }))))) (if_statement "if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }" if (parenthesized_expression "(piStack_dc == (int *)*puVar24)" ( (binary_expression "piStack_dc == (int *)*puVar24" identifier == (cast_expression "(int *)*puVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar24" * identifier))) )) (compound_statement "{\n    return pppppppuVar22;\n  }" { (return_statement "return pppppppuVar22;" return identifier ;) })) (expression_statement "pcVar26 = *(code **)(pcStack_e8 + -0x74bc);" (assignment_expression "pcVar26 = *(code **)(pcStack_e8 + -0x74bc)" identifier = (pointer_expression "*(code **)(pcStack_e8 + -0x74bc)" * (cast_expression "(code **)(pcStack_e8 + -0x74bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcStack_e8 + -0x74bc)" ( (binary_expression "pcStack_e8 + -0x74bc" identifier + number_literal) ))))) ;) (expression_statement "pcVar27 = FUN_0003dcc4;" (assignment_expression "pcVar27 = FUN_0003dcc4" identifier = identifier) ;) (expression_statement "piVar11 = piStack_dc;" (assignment_expression "piVar11 = piStack_dc" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piVar20 = *(int **)(pcVar26 + 0x6931c);" (assignment_expression "piVar20 = *(int **)(pcVar26 + 0x6931c)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x6931c)" * (cast_expression "(int **)(pcVar26 + 0x6931c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x6931c)" ( (binary_expression "pcVar26 + 0x6931c" identifier + number_literal) ))))) ;) (expression_statement "ppppppuStack_124 = (undefined4 *******)0x0;" (assignment_expression "ppppppuStack_124 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "iStack_120 = 0;" (assignment_expression "iStack_120 = 0" identifier = number_literal) ;) (expression_statement "iStack_11c = *piVar20;" (assignment_expression "iStack_11c = *piVar20" identifier = (pointer_expression "*piVar20" * identifier)) ;) (expression_statement "pppppppuVar13 = pppppppuVar12;" (assignment_expression "pppppppuVar13 = pppppppuVar12" identifier = identifier) ;) (expression_statement "ppppppuStack_114 = pppppppuVar10;" (assignment_expression "ppppppuStack_114 = pppppppuVar10" identifier = identifier) ;) (expression_statement "ppppppuStack_110 = pppppppuVar3;" (assignment_expression "ppppppuStack_110 = pppppppuVar3" identifier = identifier) ;) (expression_statement "ppppppuStack_10c = pppppppuVar19;" (assignment_expression "ppppppuStack_10c = pppppppuVar19" identifier = identifier) ;) (expression_statement "ppppppuStack_108 = pppppppuVar8;" (assignment_expression "ppppppuStack_108 = pppppppuVar8" identifier = identifier) ;) (expression_statement "pcStack_104 = pcVar27;" (assignment_expression "pcStack_104 = pcVar27" identifier = identifier) ;) (if_statement "if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }" if (parenthesized_expression "(piVar11[0xbd] != 0)" ( (binary_expression "piVar11[0xbd] != 0" (subscript_expression "piVar11[0xbd]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }" { (expression_statement "pppppppuVar13 = &ppppppuStack_128;" (assignment_expression "pppppppuVar13 = &ppppppuStack_128" identifier = (pointer_expression "&ppppppuStack_128" & identifier)) ;) (expression_statement "iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);" (assignment_expression "iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" identifier = (call_expression "(**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68920))" ( (pointer_expression "**(code **)(pcVar26 + 0x68920)" * (pointer_expression "*(code **)(pcVar26 + 0x68920)" * (cast_expression "(code **)(pcVar26 + 0x68920)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68920)" ( (binary_expression "pcVar26 + 0x68920" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" ( (binary_expression "pppppppuVar12 + 1" identifier + number_literal) , identifier , (pointer_expression "&iStack_120" & identifier) )))) ;) (if_statement "if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }" if (parenthesized_expression "((iVar4 == 0) && (iStack_120 != 0))" ( (binary_expression "(iVar4 == 0) && (iStack_120 != 0)" (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) && (parenthesized_expression "(iStack_120 != 0)" ( (binary_expression "iStack_120 != 0" identifier != number_literal) ))) )) (compound_statement "{\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }" { (if_statement "if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" if (parenthesized_expression "(-1 < iStack_120)" ( (binary_expression "-1 < iStack_120" number_literal < identifier) )) (compound_statement "{\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" { (expression_statement "uVar6 = (**(code **)(pcVar26 + 0x68860))();" (assignment_expression "uVar6 = (**(code **)(pcVar26 + 0x68860))()" identifier = (call_expression "(**(code **)(pcVar26 + 0x68860))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x68860))" ( (pointer_expression "**(code **)(pcVar26 + 0x68860)" * (pointer_expression "*(code **)(pcVar26 + 0x68860)" * (cast_expression "(code **)(pcVar26 + 0x68860)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68860)" ( (binary_expression "pcVar26 + 0x68860" identifier + number_literal) ))))) )) (argument_list "()" ( )))) ;) (expression_statement "pppppppuVar13 = (undefined4 *******)ppppppuStack_128;" (assignment_expression "pppppppuVar13 = (undefined4 *******)ppppppuStack_128" identifier = (cast_expression "(undefined4 *******)ppppppuStack_128" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);" (assignment_expression "iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" identifier = (call_expression "(**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" (parenthesized_expression "(**(code **)(piVar11[0xbd] + 0x20))" ( (pointer_expression "**(code **)(piVar11[0xbd] + 0x20)" * (pointer_expression "*(code **)(piVar11[0xbd] + 0x20)" * (cast_expression "(code **)(piVar11[0xbd] + 0x20)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(piVar11[0xbd] + 0x20)" ( (binary_expression "piVar11[0xbd] + 0x20" (subscript_expression "piVar11[0xbd]" identifier [ number_literal ]) + number_literal) ))))) )) (argument_list "(piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" ( (subscript_expression "piVar11[0xbc]" identifier [ number_literal ]) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }" if (parenthesized_expression "(0 < iVar4)" ( (binary_expression "0 < iVar4" number_literal < identifier) )) (compound_statement "{\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }" { (expression_statement "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);" (assignment_expression "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4)" identifier = (cast_expression "(undefined1 *)((int)ppppppuStack_128 + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4)" ( (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }" if (parenthesized_expression "(*(char *)(*piVar11 + 0x958) != '\0')" ( (binary_expression "*(char *)(*piVar11 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar11 + 0x958)" * (cast_expression "(char *)(*piVar11 + 0x958)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar11 + 0x958)" ( (binary_expression "*piVar11 + 0x958" (pointer_expression "*piVar11" * identifier) + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }" { (expression_statement "*puVar7 = 10;" (assignment_expression "*puVar7 = 10" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (expression_statement "pppppppuVar13 = (undefined4 *******)0x1;" (assignment_expression "pppppppuVar13 = (undefined4 *******)0x1" identifier = (cast_expression "(undefined4 *******)0x1" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (expression_statement "FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);" (call_expression "FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1)" identifier (argument_list "(*piVar11,1,ppppppuStack_128,iVar4 + 1)" ( (pointer_expression "*piVar11" * identifier) , number_literal , identifier , (binary_expression "iVar4 + 1" identifier + number_literal) ))) ;) (expression_statement "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);" (assignment_expression "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4)" identifier = (cast_expression "(undefined1 *)((int)ppppppuStack_128 + iVar4)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4)" ( (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) })) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" * identifier) = number_literal) ;) (if_statement "if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" if (parenthesized_expression "(iVar4 < 4)" ( (binary_expression "iVar4 < 4" identifier < number_literal) )) (compound_statement "{\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }" { (expression_statement "pppppppuVar8 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar8 = (undefined4 *******)0x0" identifier = (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) }) (else_clause "else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" else (compound_statement "{\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" { (if_statement "if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" if (parenthesized_expression "(*(char *)((int)ppppppuStack_128 + 3) == '-')" ( (binary_expression "*(char *)((int)ppppppuStack_128 + 3) == '-'" (pointer_expression "*(char *)((int)ppppppuStack_128 + 3)" * (cast_expression "(char *)((int)ppppppuStack_128 + 3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + 3)" ( (binary_expression "(int)ppppppuStack_128 + 3" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" { (expression_statement "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);" (assignment_expression "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1)" identifier = (cast_expression "(char *)((int)ppppppuStack_128 + iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4 + -1)" ( (binary_expression "(int)ppppppuStack_128 + iVar4 + -1" (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) }) (else_clause "else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" else (compound_statement "{\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" { (expression_statement "(**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);" (call_expression "(**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69020))" ( (pointer_expression "**(code **)(pcVar26 + 0x69020)" * (pointer_expression "*(code **)(pcVar26 + 0x69020)" * (cast_expression "(code **)(pcVar26 + 0x69020)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69020)" ( (binary_expression "pcVar26 + 0x69020" identifier + number_literal) ))))) )) (argument_list "(ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124)" ( identifier , (binary_expression "*(int *)(pcVar26 + 0x684d0) + -0x6f58" (pointer_expression "*(int *)(pcVar26 + 0x684d0)" * (cast_expression "(int *)(pcVar26 + 0x684d0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x684d0)" ( (binary_expression "pcVar26 + 0x684d0" identifier + number_literal) )))) + number_literal) , (pointer_expression "&ppppppuStack_124" & identifier) ))) ;) (expression_statement "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);" (assignment_expression "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1)" identifier = (cast_expression "(char *)((int)ppppppuStack_128 + iVar4 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppppppuStack_128 + iVar4 + -1)" ( (binary_expression "(int)ppppppuStack_128 + iVar4 + -1" (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) }))) (if_statement "if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }" if (parenthesized_expression "(cVar1 == '\n')" ( (binary_expression "cVar1 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n              *pcVar16 = '\0';\n            }" { (expression_statement "*pcVar16 = '\0';" (assignment_expression "*pcVar16 = '\0'" (pointer_expression "*pcVar16" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) })) (expression_statement "pppppppuVar13 = (undefined4 *******)ppppppuStack_128;" (assignment_expression "pppppppuVar13 = (undefined4 *******)ppppppuStack_128" identifier = (cast_expression "(undefined4 *******)ppppppuStack_128" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) (expression_statement "(**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);" (call_expression "(**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68c90))" ( (pointer_expression "**(code **)(pcVar26 + 0x68c90)" * (pointer_expression "*(code **)(pcVar26 + 0x68c90)" * (cast_expression "(code **)(pcVar26 + 0x68c90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68c90)" ( (binary_expression "pcVar26 + 0x68c90" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar12,ppppppuStack_128)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);" (call_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(code *)**(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar26 + 0x68480)" * (pointer_expression "*(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68480)" ( (binary_expression "pcVar26 + 0x68480" identifier + number_literal) ))))))) )) (argument_list "(ppppppuStack_128)" ( identifier ))) ;) (expression_statement "pppppppuVar8 = (undefined4 *******)ppppppuStack_124;" (assignment_expression "pppppppuVar8 = (undefined4 *******)ppppppuStack_124" identifier = (cast_expression "(undefined4 *******)ppppppuStack_124" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) identifier)) ;) }))) (goto_statement "goto LAB_0003ddec;" goto statement_identifier ;) })) })) (expression_statement "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);" (call_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))" ( (pointer_expression "*(code *)**(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(code *)**(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar26 + 0x68480)" * (pointer_expression "*(undefined4 **)(pcVar26 + 0x68480)" * (cast_expression "(undefined4 **)(pcVar26 + 0x68480)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68480)" ( (binary_expression "pcVar26 + 0x68480" identifier + number_literal) ))))))) )) (argument_list "(ppppppuStack_128)" ( identifier ))) ;) })) })) (expression_statement "pppppppuVar8 = (undefined4 *******)0xffffffff;" (assignment_expression "pppppppuVar8 = (undefined4 *******)0xffffffff" identifier = (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal)) ;) (labeled_statement "LAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }" statement_identifier : (if_statement "if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }" if (parenthesized_expression "(iStack_11c == *piVar20)" ( (binary_expression "iStack_11c == *piVar20" identifier == (pointer_expression "*piVar20" * identifier)) )) (compound_statement "{\n    return pppppppuVar8;\n  }" { (return_statement "return pppppppuVar8;" return identifier ;) }))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x68f90);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x68f90)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x68f90)" * (cast_expression "(code **)(pcVar26 + 0x68f90)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68f90)" ( (binary_expression "pcVar26 + 0x68f90" identifier + number_literal) ))))) ;) (expression_statement "iVar4 = iStack_11c;" (assignment_expression "iVar4 = iStack_11c" identifier = identifier) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" identifier = number_literal) ;) (expression_statement "iVar17 = *(int *)(pcVar26 + 0x68278);" (assignment_expression "iVar17 = *(int *)(pcVar26 + 0x68278)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x68278)" * (cast_expression "(int *)(pcVar26 + 0x68278)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x68278)" ( (binary_expression "pcVar26 + 0x68278" identifier + number_literal) ))))) ;) (expression_statement "iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;" (assignment_expression "iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0" identifier = (binary_expression "*(int *)(pcVar26 + 0x682e0) + -0x3cc0" (pointer_expression "*(int *)(pcVar26 + 0x682e0)" * (cast_expression "(int *)(pcVar26 + 0x682e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x682e0)" ( (binary_expression "pcVar26 + 0x682e0" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "iVar9 = iVar17 + 0x54c4;" (assignment_expression "iVar9 = iVar17 + 0x54c4" identifier = (binary_expression "iVar17 + 0x54c4" identifier + number_literal)) ;) (while_statement "while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }" { (expression_statement "uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);" (assignment_expression "uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13)" identifier = (call_expression "(**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68ff4))" ( (pointer_expression "**(code **)(pcVar26 + 0x68ff4)" * (pointer_expression "*(code **)(pcVar26 + 0x68ff4)" * (cast_expression "(code **)(pcVar26 + 0x68ff4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x68ff4)" ( (binary_expression "pcVar26 + 0x68ff4" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar13)" ( identifier )))) ;) (expression_statement "iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);" (assignment_expression "iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6)" identifier = (call_expression "(**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69084))" ( (pointer_expression "**(code **)(pcVar26 + 0x69084)" * (pointer_expression "*(code **)(pcVar26 + 0x69084)" * (cast_expression "(code **)(pcVar26 + 0x69084)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x69084)" ( (binary_expression "pcVar26 + 0x69084" identifier + number_literal) ))))) )) (argument_list "(pppppppuVar13,iVar21,uVar6)" ( identifier , identifier , identifier )))) ;) (if_statement "if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }" if (parenthesized_expression "(iVar21 != 0)" ( (binary_expression "iVar21 != 0" identifier != number_literal) )) (compound_statement "{\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }" { (expression_statement "iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);" (assignment_expression "iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8)" identifier = (pointer_expression "*(int *)(iVar17 + 0x54c4 + iVar18 * 8)" * (cast_expression "(int *)(iVar17 + 0x54c4 + iVar18 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar17 + 0x54c4 + iVar18 * 8)" ( (binary_expression "iVar17 + 0x54c4 + iVar18 * 8" (binary_expression "iVar17 + 0x54c4" identifier + number_literal) + (binary_expression "iVar18 * 8" identifier * number_literal)) ))))) ;) (if_statement "if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }" if (parenthesized_expression "(iVar9 == 0)" ( (binary_expression "iVar9 == 0" identifier == number_literal) )) (compound_statement "{\n        return (undefined4 *******)0xffffffff;\n      }" { (return_statement "return (undefined4 *******)0xffffffff;" return (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })) (expression_statement "*(int *)(iVar4 + 0x2d8) = iVar9;" (assignment_expression "*(int *)(iVar4 + 0x2d8) = iVar9" (pointer_expression "*(int *)(iVar4 + 0x2d8)" * (cast_expression "(int *)(iVar4 + 0x2d8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + 0x2d8)" ( (binary_expression "iVar4 + 0x2d8" identifier + number_literal) )))) = identifier) ;) (return_statement "return (undefined4 *******)0x0;" return (cast_expression "(undefined4 *******)0x0" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" identifier = (binary_expression "iVar18 + 1" identifier + number_literal)) ;) (if_statement "if (iVar18 == 4) break;" if (parenthesized_expression "(iVar18 == 4)" ( (binary_expression "iVar18 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "iVar21 = *(int *)(iVar9 + 0xc);" (assignment_expression "iVar21 = *(int *)(iVar9 + 0xc)" identifier = (pointer_expression "*(int *)(iVar9 + 0xc)" * (cast_expression "(int *)(iVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0xc)" ( (binary_expression "iVar9 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = iVar9 + 8;" (assignment_expression "iVar9 = iVar9 + 8" identifier = (binary_expression "iVar9 + 8" identifier + number_literal)) ;) })) (return_statement "return (undefined4 *******)0xffffffff;" return (cast_expression "(undefined4 *******)0xffffffff" ( (type_descriptor "undefined4 *******" type_identifier (abstract_pointer_declarator "*******" * (abstract_pointer_declarator "******" * (abstract_pointer_declarator "*****" * (abstract_pointer_declarator "****" * (abstract_pointer_declarator "***" * (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *)))))))) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))))) , (parameter_declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) )))))))))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (array_declarator IDENT [ LIT ])))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT))))) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * (pointer_declarator * IDENT)))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = IDENT) , (comma_expression (assignment_expression IDENT = (pointer_expression & IDENT)) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( IDENT ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)))))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (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) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) 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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (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 (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) - (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ]))) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) , (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT))) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;)) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT))) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression (subscript_expression IDENT [ LIT ]) [ LIT ]))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , (subscript_expression IDENT [ LIT ]) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) })) (break_statement break ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) )) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) ))))) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , IDENT , IDENT , IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * IDENT) , LIT , IDENT , (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) IDENT)) ;) }))) (goto_statement goto statement_identifier ;) })) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) )) (argument_list ( IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * IDENT)) )) (compound_statement { (return_statement return 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 = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , 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 (binary_expression IDENT + LIT) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))))))) ) LIT) ;) })))
(function_definition "undefined4 *******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}" (type_identifier "undefined4") (pointer_declarator "*******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (* "*") (pointer_declarator "******\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (* "*") (pointer_declarator "*****\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (* "*") (pointer_declarator "****\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (* "*") (pointer_declarator "***\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (* "*") (pointer_declarator "**\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (* "*") (pointer_declarator "*\nFUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (* "*") (function_declarator "FUN_0003d8c4(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (identifier "FUN_0003d8c4") (parameter_list "(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *******param_2" (type_identifier "undefined4") (pointer_declarator "*******param_2" (* "*") (pointer_declarator "******param_2" (* "*") (pointer_declarator "*****param_2" (* "*") (pointer_declarator "****param_2" (* "*") (pointer_declarator "***param_2" (* "*") (pointer_declarator "**param_2" (* "*") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))))))))) (, ",") (parameter_declaration "undefined4 ******param_3" (type_identifier "undefined4") (pointer_declarator "******param_3" (* "*") (pointer_declarator "*****param_3" (* "*") (pointer_declarator "****param_3" (* "*") (pointer_declarator "***param_3" (* "*") (pointer_declarator "**param_3" (* "*") (pointer_declarator "*param_3" (* "*") (identifier "param_3")))))))) () ")")))))))))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined4 *******pppppppuVar3;\n  int iVar4;\n  undefined4 ******ppppppuVar5;\n  undefined4 uVar6;\n  undefined1 *puVar7;\n  undefined4 *******pppppppuVar8;\n  int iVar9;\n  undefined4 *******pppppppuVar10;\n  int *piVar11;\n  undefined4 *******pppppppuVar12;\n  undefined4 *******pppppppuVar13;\n  undefined4 *******pppppppuVar14;\n  undefined4 *******pppppppuVar15;\n  char *pcVar16;\n  int iVar17;\n  int iVar18;\n  undefined4 *******pppppppuVar19;\n  int *piVar20;\n  int iVar21;\n  undefined4 *******pppppppuVar22;\n  undefined4 ******ppppppuVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  code *pcVar27;\n  undefined4 ******ppppppuStack_128;\n  undefined4 ******ppppppuStack_124;\n  int iStack_120;\n  int iStack_11c;\n  undefined4 ******ppppppuStack_114;\n  undefined4 ******ppppppuStack_110;\n  undefined4 ******ppppppuStack_10c;\n  undefined4 ******ppppppuStack_108;\n  code *pcStack_104;\n  undefined4 ******ppppppuStack_f0;\n  code *pcStack_e8;\n  undefined4 ******ppppppuStack_e0;\n  int *piStack_dc;\n  undefined4 ******ppppppuStack_d8;\n  undefined4 ******ppppppuStack_d4;\n  undefined4 ******ppppppuStack_d0;\n  int *piStack_cc;\n  undefined *puStack_c8;\n  undefined4 uStack_c4;\n  undefined4 ******ppppppuStack_94;\n  undefined4 uStack_90;\n  undefined4 ******ppppppuStack_8c;\n  undefined4 *****apppppuStack_88 [13];\n  undefined4 ******ppppppuStack_54;\n  undefined4 *****pppppuStack_50;\n  undefined4 ******ppppppuStack_4c;\n  undefined4 uStack_48;\n  code *pcStack_44;\n  undefined4 *****pppppuStack_38;\n  int *piStack_34;\n  int local_28;\n  undefined4 ******local_24;\n  \n  puVar2 = PTR___stack_chk_guard_000a6fe0;\n  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;\n  do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);\nLAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }\n  pcVar26 = FUN_0003d990;\n  pppppppuVar19 = (undefined4 *******)local_24;\n  puVar25 = PTR___stack_chk_fail_000a6c54;\n  (*(code *)PTR___stack_chk_fail_000a6c54)();\n  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;\n  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);\n  uStack_90 = 0;\n  ppppppuStack_54 = *pppppppuVar3;\n  ppppppuStack_8c = pppppppuVar13;\n  pppppuStack_50 = param_3;\n  ppppppuStack_4c = param_2;\n  uStack_48 = param_1;\n  pcStack_44 = pcVar26;\n  pppppuStack_38 = ppppppuVar5;\n  piStack_34 = piVar11;\n  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);\n  pppppppuVar12 = (undefined4 *******)apppppuStack_88;\n  iVar4 = FUN_0002d378(pppppppuVar19);\n  if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }\n  if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x692c4);\n  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;\n  (*pcVar26)();\n  pcStack_e8 = pcVar26 + 0x706a4;\n  ppppppuVar5 = pppppppuVar10[0xb3];\n  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);\n  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;\n  uStack_c4 = 0x51;\n  piStack_dc = (int *)*puVar24;\n  ppppppuVar23 = *pppppppuVar12;\n  puStack_c8 = puVar2;\n  *(undefined4 *)(puVar25 + 0x70780) = 0;\n  pppppppuVar15 = (undefined4 *******)apppppuStack_88;\n  ppppppuStack_d8 = apppppuStack_88;\n  ppppppuStack_d4 = pppppppuVar3;\n  ppppppuStack_d0 = pppppppuVar19;\n  piStack_cc = &local_28;\n  if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }\n  if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }\n  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);\n  pcVar27 = FUN_0003dcc4;\n  piVar11 = piStack_dc;\n  (*pcVar26)();\n  piVar20 = *(int **)(pcVar26 + 0x6931c);\n  ppppppuStack_124 = (undefined4 *******)0x0;\n  iStack_120 = 0;\n  iStack_11c = *piVar20;\n  pppppppuVar13 = pppppppuVar12;\n  ppppppuStack_114 = pppppppuVar10;\n  ppppppuStack_110 = pppppppuVar3;\n  ppppppuStack_10c = pppppppuVar19;\n  ppppppuStack_108 = pppppppuVar8;\n  pcStack_104 = pcVar27;\n  if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }\n  pppppppuVar8 = (undefined4 *******)0xffffffff;\nLAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x68f90);\n  iVar4 = iStack_11c;\n  (*pcVar26)();\n  iVar18 = 0;\n  iVar17 = *(int *)(pcVar26 + 0x68278);\n  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;\n  iVar9 = iVar17 + 0x54c4;\n  while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }\n  return (undefined4 *******)0xffffffff;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 *******pppppppuVar3;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar3" (* "*") (pointer_declarator "******pppppppuVar3" (* "*") (pointer_declarator "*****pppppppuVar3" (* "*") (pointer_declarator "****pppppppuVar3" (* "*") (pointer_declarator "***pppppppuVar3" (* "*") (pointer_declarator "**pppppppuVar3" (* "*") (pointer_declarator "*pppppppuVar3" (* "*") (identifier "pppppppuVar3")))))))) (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 ******ppppppuVar5;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar5" (* "*") (pointer_declarator "*****ppppppuVar5" (* "*") (pointer_declarator "****ppppppuVar5" (* "*") (pointer_declarator "***ppppppuVar5" (* "*") (pointer_declarator "**ppppppuVar5" (* "*") (pointer_declarator "*ppppppuVar5" (* "*") (identifier "ppppppuVar5"))))))) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined1 *puVar7;" (type_identifier "undefined1") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 *******pppppppuVar8;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar8" (* "*") (pointer_declarator "******pppppppuVar8" (* "*") (pointer_declarator "*****pppppppuVar8" (* "*") (pointer_declarator "****pppppppuVar8" (* "*") (pointer_declarator "***pppppppuVar8" (* "*") (pointer_declarator "**pppppppuVar8" (* "*") (pointer_declarator "*pppppppuVar8" (* "*") (identifier "pppppppuVar8")))))))) (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "undefined4 *******pppppppuVar10;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar10" (* "*") (pointer_declarator "******pppppppuVar10" (* "*") (pointer_declarator "*****pppppppuVar10" (* "*") (pointer_declarator "****pppppppuVar10" (* "*") (pointer_declarator "***pppppppuVar10" (* "*") (pointer_declarator "**pppppppuVar10" (* "*") (pointer_declarator "*pppppppuVar10" (* "*") (identifier "pppppppuVar10")))))))) (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 *******pppppppuVar12;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar12" (* "*") (pointer_declarator "******pppppppuVar12" (* "*") (pointer_declarator "*****pppppppuVar12" (* "*") (pointer_declarator "****pppppppuVar12" (* "*") (pointer_declarator "***pppppppuVar12" (* "*") (pointer_declarator "**pppppppuVar12" (* "*") (pointer_declarator "*pppppppuVar12" (* "*") (identifier "pppppppuVar12")))))))) (; ";")) (declaration "undefined4 *******pppppppuVar13;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar13" (* "*") (pointer_declarator "******pppppppuVar13" (* "*") (pointer_declarator "*****pppppppuVar13" (* "*") (pointer_declarator "****pppppppuVar13" (* "*") (pointer_declarator "***pppppppuVar13" (* "*") (pointer_declarator "**pppppppuVar13" (* "*") (pointer_declarator "*pppppppuVar13" (* "*") (identifier "pppppppuVar13")))))))) (; ";")) (declaration "undefined4 *******pppppppuVar14;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar14" (* "*") (pointer_declarator "******pppppppuVar14" (* "*") (pointer_declarator "*****pppppppuVar14" (* "*") (pointer_declarator "****pppppppuVar14" (* "*") (pointer_declarator "***pppppppuVar14" (* "*") (pointer_declarator "**pppppppuVar14" (* "*") (pointer_declarator "*pppppppuVar14" (* "*") (identifier "pppppppuVar14")))))))) (; ";")) (declaration "undefined4 *******pppppppuVar15;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar15" (* "*") (pointer_declarator "******pppppppuVar15" (* "*") (pointer_declarator "*****pppppppuVar15" (* "*") (pointer_declarator "****pppppppuVar15" (* "*") (pointer_declarator "***pppppppuVar15" (* "*") (pointer_declarator "**pppppppuVar15" (* "*") (pointer_declarator "*pppppppuVar15" (* "*") (identifier "pppppppuVar15")))))))) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "int iVar17;" (primitive_type "int") (identifier "iVar17") (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "undefined4 *******pppppppuVar19;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar19" (* "*") (pointer_declarator "******pppppppuVar19" (* "*") (pointer_declarator "*****pppppppuVar19" (* "*") (pointer_declarator "****pppppppuVar19" (* "*") (pointer_declarator "***pppppppuVar19" (* "*") (pointer_declarator "**pppppppuVar19" (* "*") (pointer_declarator "*pppppppuVar19" (* "*") (identifier "pppppppuVar19")))))))) (; ";")) (declaration "int *piVar20;" (primitive_type "int") (pointer_declarator "*piVar20" (* "*") (identifier "piVar20")) (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "undefined4 *******pppppppuVar22;" (type_identifier "undefined4") (pointer_declarator "*******pppppppuVar22" (* "*") (pointer_declarator "******pppppppuVar22" (* "*") (pointer_declarator "*****pppppppuVar22" (* "*") (pointer_declarator "****pppppppuVar22" (* "*") (pointer_declarator "***pppppppuVar22" (* "*") (pointer_declarator "**pppppppuVar22" (* "*") (pointer_declarator "*pppppppuVar22" (* "*") (identifier "pppppppuVar22")))))))) (; ";")) (declaration "undefined4 ******ppppppuVar23;" (type_identifier "undefined4") (pointer_declarator "******ppppppuVar23" (* "*") (pointer_declarator "*****ppppppuVar23" (* "*") (pointer_declarator "****ppppppuVar23" (* "*") (pointer_declarator "***ppppppuVar23" (* "*") (pointer_declarator "**ppppppuVar23" (* "*") (pointer_declarator "*ppppppuVar23" (* "*") (identifier "ppppppuVar23"))))))) (; ";")) (declaration "undefined4 *puVar24;" (type_identifier "undefined4") (pointer_declarator "*puVar24" (* "*") (identifier "puVar24")) (; ";")) (declaration "undefined *puVar25;" (type_identifier "undefined") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "code *pcVar26;" (type_identifier "code") (pointer_declarator "*pcVar26" (* "*") (identifier "pcVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "undefined4 ******ppppppuStack_128;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_128" (* "*") (pointer_declarator "*****ppppppuStack_128" (* "*") (pointer_declarator "****ppppppuStack_128" (* "*") (pointer_declarator "***ppppppuStack_128" (* "*") (pointer_declarator "**ppppppuStack_128" (* "*") (pointer_declarator "*ppppppuStack_128" (* "*") (identifier "ppppppuStack_128"))))))) (; ";")) (declaration "undefined4 ******ppppppuStack_124;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_124" (* "*") (pointer_declarator "*****ppppppuStack_124" (* "*") (pointer_declarator "****ppppppuStack_124" (* "*") (pointer_declarator "***ppppppuStack_124" (* "*") (pointer_declarator "**ppppppuStack_124" (* "*") (pointer_declarator "*ppppppuStack_124" (* "*") (identifier "ppppppuStack_124"))))))) (; ";")) (declaration "int iStack_120;" (primitive_type "int") (identifier "iStack_120") (; ";")) (declaration "int iStack_11c;" (primitive_type "int") (identifier "iStack_11c") (; ";")) (declaration "undefined4 ******ppppppuStack_114;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_114" (* "*") (pointer_declarator "*****ppppppuStack_114" (* "*") (pointer_declarator "****ppppppuStack_114" (* "*") (pointer_declarator "***ppppppuStack_114" (* "*") (pointer_declarator "**ppppppuStack_114" (* "*") (pointer_declarator "*ppppppuStack_114" (* "*") (identifier "ppppppuStack_114"))))))) (; ";")) (declaration "undefined4 ******ppppppuStack_110;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_110" (* "*") (pointer_declarator "*****ppppppuStack_110" (* "*") (pointer_declarator "****ppppppuStack_110" (* "*") (pointer_declarator "***ppppppuStack_110" (* "*") (pointer_declarator "**ppppppuStack_110" (* "*") (pointer_declarator "*ppppppuStack_110" (* "*") (identifier "ppppppuStack_110"))))))) (; ";")) (declaration "undefined4 ******ppppppuStack_10c;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_10c" (* "*") (pointer_declarator "*****ppppppuStack_10c" (* "*") (pointer_declarator "****ppppppuStack_10c" (* "*") (pointer_declarator "***ppppppuStack_10c" (* "*") (pointer_declarator "**ppppppuStack_10c" (* "*") (pointer_declarator "*ppppppuStack_10c" (* "*") (identifier "ppppppuStack_10c"))))))) (; ";")) (declaration "undefined4 ******ppppppuStack_108;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_108" (* "*") (pointer_declarator "*****ppppppuStack_108" (* "*") (pointer_declarator "****ppppppuStack_108" (* "*") (pointer_declarator "***ppppppuStack_108" (* "*") (pointer_declarator "**ppppppuStack_108" (* "*") (pointer_declarator "*ppppppuStack_108" (* "*") (identifier "ppppppuStack_108"))))))) (; ";")) (declaration "code *pcStack_104;" (type_identifier "code") (pointer_declarator "*pcStack_104" (* "*") (identifier "pcStack_104")) (; ";")) (declaration "undefined4 ******ppppppuStack_f0;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_f0" (* "*") (pointer_declarator "*****ppppppuStack_f0" (* "*") (pointer_declarator "****ppppppuStack_f0" (* "*") (pointer_declarator "***ppppppuStack_f0" (* "*") (pointer_declarator "**ppppppuStack_f0" (* "*") (pointer_declarator "*ppppppuStack_f0" (* "*") (identifier "ppppppuStack_f0"))))))) (; ";")) (declaration "code *pcStack_e8;" (type_identifier "code") (pointer_declarator "*pcStack_e8" (* "*") (identifier "pcStack_e8")) (; ";")) (declaration "undefined4 ******ppppppuStack_e0;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_e0" (* "*") (pointer_declarator "*****ppppppuStack_e0" (* "*") (pointer_declarator "****ppppppuStack_e0" (* "*") (pointer_declarator "***ppppppuStack_e0" (* "*") (pointer_declarator "**ppppppuStack_e0" (* "*") (pointer_declarator "*ppppppuStack_e0" (* "*") (identifier "ppppppuStack_e0"))))))) (; ";")) (declaration "int *piStack_dc;" (primitive_type "int") (pointer_declarator "*piStack_dc" (* "*") (identifier "piStack_dc")) (; ";")) (declaration "undefined4 ******ppppppuStack_d8;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_d8" (* "*") (pointer_declarator "*****ppppppuStack_d8" (* "*") (pointer_declarator "****ppppppuStack_d8" (* "*") (pointer_declarator "***ppppppuStack_d8" (* "*") (pointer_declarator "**ppppppuStack_d8" (* "*") (pointer_declarator "*ppppppuStack_d8" (* "*") (identifier "ppppppuStack_d8"))))))) (; ";")) (declaration "undefined4 ******ppppppuStack_d4;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_d4" (* "*") (pointer_declarator "*****ppppppuStack_d4" (* "*") (pointer_declarator "****ppppppuStack_d4" (* "*") (pointer_declarator "***ppppppuStack_d4" (* "*") (pointer_declarator "**ppppppuStack_d4" (* "*") (pointer_declarator "*ppppppuStack_d4" (* "*") (identifier "ppppppuStack_d4"))))))) (; ";")) (declaration "undefined4 ******ppppppuStack_d0;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_d0" (* "*") (pointer_declarator "*****ppppppuStack_d0" (* "*") (pointer_declarator "****ppppppuStack_d0" (* "*") (pointer_declarator "***ppppppuStack_d0" (* "*") (pointer_declarator "**ppppppuStack_d0" (* "*") (pointer_declarator "*ppppppuStack_d0" (* "*") (identifier "ppppppuStack_d0"))))))) (; ";")) (declaration "int *piStack_cc;" (primitive_type "int") (pointer_declarator "*piStack_cc" (* "*") (identifier "piStack_cc")) (; ";")) (declaration "undefined *puStack_c8;" (type_identifier "undefined") (pointer_declarator "*puStack_c8" (* "*") (identifier "puStack_c8")) (; ";")) (declaration "undefined4 uStack_c4;" (type_identifier "undefined4") (identifier "uStack_c4") (; ";")) (declaration "undefined4 ******ppppppuStack_94;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_94" (* "*") (pointer_declarator "*****ppppppuStack_94" (* "*") (pointer_declarator "****ppppppuStack_94" (* "*") (pointer_declarator "***ppppppuStack_94" (* "*") (pointer_declarator "**ppppppuStack_94" (* "*") (pointer_declarator "*ppppppuStack_94" (* "*") (identifier "ppppppuStack_94"))))))) (; ";")) (declaration "undefined4 uStack_90;" (type_identifier "undefined4") (identifier "uStack_90") (; ";")) (declaration "undefined4 ******ppppppuStack_8c;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_8c" (* "*") (pointer_declarator "*****ppppppuStack_8c" (* "*") (pointer_declarator "****ppppppuStack_8c" (* "*") (pointer_declarator "***ppppppuStack_8c" (* "*") (pointer_declarator "**ppppppuStack_8c" (* "*") (pointer_declarator "*ppppppuStack_8c" (* "*") (identifier "ppppppuStack_8c"))))))) (; ";")) (declaration "undefined4 *****apppppuStack_88 [13];" (type_identifier "undefined4") (pointer_declarator "*****apppppuStack_88 [13]" (* "*") (pointer_declarator "****apppppuStack_88 [13]" (* "*") (pointer_declarator "***apppppuStack_88 [13]" (* "*") (pointer_declarator "**apppppuStack_88 [13]" (* "*") (pointer_declarator "*apppppuStack_88 [13]" (* "*") (array_declarator "apppppuStack_88 [13]" (identifier "apppppuStack_88") ([ "[") (number_literal "13") (] "]"))))))) (; ";")) (declaration "undefined4 ******ppppppuStack_54;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_54" (* "*") (pointer_declarator "*****ppppppuStack_54" (* "*") (pointer_declarator "****ppppppuStack_54" (* "*") (pointer_declarator "***ppppppuStack_54" (* "*") (pointer_declarator "**ppppppuStack_54" (* "*") (pointer_declarator "*ppppppuStack_54" (* "*") (identifier "ppppppuStack_54"))))))) (; ";")) (declaration "undefined4 *****pppppuStack_50;" (type_identifier "undefined4") (pointer_declarator "*****pppppuStack_50" (* "*") (pointer_declarator "****pppppuStack_50" (* "*") (pointer_declarator "***pppppuStack_50" (* "*") (pointer_declarator "**pppppuStack_50" (* "*") (pointer_declarator "*pppppuStack_50" (* "*") (identifier "pppppuStack_50")))))) (; ";")) (declaration "undefined4 ******ppppppuStack_4c;" (type_identifier "undefined4") (pointer_declarator "******ppppppuStack_4c" (* "*") (pointer_declarator "*****ppppppuStack_4c" (* "*") (pointer_declarator "****ppppppuStack_4c" (* "*") (pointer_declarator "***ppppppuStack_4c" (* "*") (pointer_declarator "**ppppppuStack_4c" (* "*") (pointer_declarator "*ppppppuStack_4c" (* "*") (identifier "ppppppuStack_4c"))))))) (; ";")) (declaration "undefined4 uStack_48;" (type_identifier "undefined4") (identifier "uStack_48") (; ";")) (declaration "code *pcStack_44;" (type_identifier "code") (pointer_declarator "*pcStack_44" (* "*") (identifier "pcStack_44")) (; ";")) (declaration "undefined4 *****pppppuStack_38;" (type_identifier "undefined4") (pointer_declarator "*****pppppuStack_38" (* "*") (pointer_declarator "****pppppuStack_38" (* "*") (pointer_declarator "***pppppuStack_38" (* "*") (pointer_declarator "**pppppuStack_38" (* "*") (pointer_declarator "*pppppuStack_38" (* "*") (identifier "pppppuStack_38")))))) (; ";")) (declaration "int *piStack_34;" (primitive_type "int") (pointer_declarator "*piStack_34" (* "*") (identifier "piStack_34")) (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (declaration "undefined4 ******local_24;" (type_identifier "undefined4") (pointer_declarator "******local_24" (* "*") (pointer_declarator "*****local_24" (* "*") (pointer_declarator "****local_24" (* "*") (pointer_declarator "***local_24" (* "*") (pointer_declarator "**local_24" (* "*") (pointer_declarator "*local_24" (* "*") (identifier "local_24"))))))) (; ";")) (expression_statement "puVar2 = PTR___stack_chk_guard_000a6fe0;" (assignment_expression "puVar2 = PTR___stack_chk_guard_000a6fe0" (identifier "puVar2") (= "=") (identifier "PTR___stack_chk_guard_000a6fe0")) (; ";")) (expression_statement "local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;" (assignment_expression "local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0" (identifier "local_24") (= "=") (pointer_expression "*(undefined4 *******)PTR___stack_chk_guard_000a6fe0" (* "*") (cast_expression "(undefined4 *******)PTR___stack_chk_guard_000a6fe0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "PTR___stack_chk_guard_000a6fe0")))) (; ";")) (do_statement "do {\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  } while (param_3 != (undefined4 ******)0x0);" (do "do") (compound_statement "{\n    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }\n    param_3 = (undefined4 ******)((int)param_3 - local_28);\n    param_2 = (undefined4 *******)((int)param_2 + local_28);\n  }" ({ "{") (while_statement "while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0) {\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }" (while "while") (parenthesized_expression "(pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0)" (( "(") (comma_expression "pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar8 = param_2" (identifier "pppppppuVar8") (= "=") (identifier "param_2")) (, ",") (comma_expression "ppppppuVar5 = param_3, piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "ppppppuVar5 = param_3" (identifier "ppppppuVar5") (= "=") (identifier "param_3")) (, ",") (comma_expression "piVar11 = &local_28,\n          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "piVar11 = &local_28" (identifier "piVar11") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (, ",") (comma_expression "pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),\n          pppppppuVar3 != (undefined4 *******)0x0" (assignment_expression "pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1)" (identifier "pppppppuVar3") (= "=") (cast_expression "(undefined4 *******)FUN_00025d80(param_1)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_00025d80(param_1)" (identifier "FUN_00025d80") (argument_list "(param_1)" (( "(") (identifier "param_1") () ")"))))) (, ",") (binary_expression "pppppppuVar3 != (undefined4 *******)0x0" (identifier "pppppppuVar3") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))))))) () ")")) (compound_statement "{\n      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;\n    }" ({ "{") (if_statement "if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;" (if "if") (parenthesized_expression "(pppppppuVar3 != (undefined4 *******)0x51)" (( "(") (binary_expression "pppppppuVar3 != (undefined4 *******)0x51" (identifier "pppppppuVar3") (!= "!=") (cast_expression "(undefined4 *******)0x51" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x51"))) () ")")) (goto_statement "goto LAB_0003d944;" (goto "goto") (statement_identifier "LAB_0003d944") (; ";"))) (} "}"))) (expression_statement "param_3 = (undefined4 ******)((int)param_3 - local_28);" (assignment_expression "param_3 = (undefined4 ******)((int)param_3 - local_28)" (identifier "param_3") (= "=") (cast_expression "(undefined4 ******)((int)param_3 - local_28)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)param_3 - local_28)" (( "(") (binary_expression "(int)param_3 - local_28" (cast_expression "(int)param_3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_3")) (- "-") (identifier "local_28")) () ")")))) (; ";")) (expression_statement "param_2 = (undefined4 *******)((int)param_2 + local_28);" (assignment_expression "param_2 = (undefined4 *******)((int)param_2 + local_28)" (identifier "param_2") (= "=") (cast_expression "(undefined4 *******)((int)param_2 + local_28)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)param_2 + local_28)" (( "(") (binary_expression "(int)param_2 + local_28" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (identifier "local_28")) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_3 != (undefined4 ******)0x0)" (( "(") (binary_expression "param_3 != (undefined4 ******)0x0" (identifier "param_3") (!= "!=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (labeled_statement "LAB_0003d944:\n  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }" (statement_identifier "LAB_0003d944") (: ":") (if_statement "if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {\n    return pppppppuVar3;\n  }" (if "if") (parenthesized_expression "((undefined4 *******)local_24 == *(undefined4 ********)puVar2)" (( "(") (binary_expression "(undefined4 *******)local_24 == *(undefined4 ********)puVar2" (cast_expression "(undefined4 *******)local_24" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_24")) (== "==") (pointer_expression "*(undefined4 ********)puVar2" (* "*") (cast_expression "(undefined4 ********)puVar2" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (identifier "puVar2")))) () ")")) (compound_statement "{\n    return pppppppuVar3;\n  }" ({ "{") (return_statement "return pppppppuVar3;" (return "return") (identifier "pppppppuVar3") (; ";")) (} "}")))) (expression_statement "pcVar26 = FUN_0003d990;" (assignment_expression "pcVar26 = FUN_0003d990" (identifier "pcVar26") (= "=") (identifier "FUN_0003d990")) (; ";")) (expression_statement "pppppppuVar19 = (undefined4 *******)local_24;" (assignment_expression "pppppppuVar19 = (undefined4 *******)local_24" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)local_24" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "local_24"))) (; ";")) (expression_statement "puVar25 = PTR___stack_chk_fail_000a6c54;" (assignment_expression "puVar25 = PTR___stack_chk_fail_000a6c54" (identifier "puVar25") (= "=") (identifier "PTR___stack_chk_fail_000a6c54")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_000a6c54)();" (call_expression "(*(code *)PTR___stack_chk_fail_000a6c54)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000a6c54)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000a6c54" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000a6c54" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000a6c54"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pppppppuVar13 = (undefined4 *******)&pppppuStack_38;" (assignment_expression "pppppppuVar13 = (undefined4 *******)&pppppuStack_38" (identifier "pppppppuVar13") (= "=") (cast_expression "(undefined4 *******)&pppppuStack_38" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (pointer_expression "&pppppuStack_38" (& "&") (identifier "pppppuStack_38")))) (; ";")) (expression_statement "pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);" (assignment_expression "pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650)" (identifier "pppppppuVar3") (= "=") (pointer_expression "*(undefined4 ********)(puVar25 + 0x69650)" (* "*") (cast_expression "(undefined4 ********)(puVar25 + 0x69650)" (( "(") (type_descriptor "undefined4 ********" (type_identifier "undefined4") (abstract_pointer_declarator "********" (* "*") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))))) () ")") (parenthesized_expression "(puVar25 + 0x69650)" (( "(") (binary_expression "puVar25 + 0x69650" (identifier "puVar25") (+ "+") (number_literal "0x69650")) () ")"))))) (; ";")) (expression_statement "uStack_90 = 0;" (assignment_expression "uStack_90 = 0" (identifier "uStack_90") (= "=") (number_literal "0")) (; ";")) (expression_statement "ppppppuStack_54 = *pppppppuVar3;" (assignment_expression "ppppppuStack_54 = *pppppppuVar3" (identifier "ppppppuStack_54") (= "=") (pointer_expression "*pppppppuVar3" (* "*") (identifier "pppppppuVar3"))) (; ";")) (expression_statement "ppppppuStack_8c = pppppppuVar13;" (assignment_expression "ppppppuStack_8c = pppppppuVar13" (identifier "ppppppuStack_8c") (= "=") (identifier "pppppppuVar13")) (; ";")) (expression_statement "pppppuStack_50 = param_3;" (assignment_expression "pppppuStack_50 = param_3" (identifier "pppppuStack_50") (= "=") (identifier "param_3")) (; ";")) (expression_statement "ppppppuStack_4c = param_2;" (assignment_expression "ppppppuStack_4c = param_2" (identifier "ppppppuStack_4c") (= "=") (identifier "param_2")) (; ";")) (expression_statement "uStack_48 = param_1;" (assignment_expression "uStack_48 = param_1" (identifier "uStack_48") (= "=") (identifier "param_1")) (; ";")) (expression_statement "pcStack_44 = pcVar26;" (assignment_expression "pcStack_44 = pcVar26" (identifier "pcStack_44") (= "=") (identifier "pcVar26")) (; ";")) (expression_statement "pppppuStack_38 = ppppppuVar5;" (assignment_expression "pppppuStack_38 = ppppppuVar5" (identifier "pppppuStack_38") (= "=") (identifier "ppppppuVar5")) (; ";")) (expression_statement "piStack_34 = piVar11;" (assignment_expression "piStack_34 = piVar11" (identifier "piStack_34") (= "=") (identifier "piVar11")) (; ";")) (expression_statement "(**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);" (call_expression "(**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32)" (parenthesized_expression "(**(code **)(puVar25 + 0x69494))" (( "(") (pointer_expression "**(code **)(puVar25 + 0x69494)" (* "*") (pointer_expression "*(code **)(puVar25 + 0x69494)" (* "*") (cast_expression "(code **)(puVar25 + 0x69494)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x69494)" (( "(") (binary_expression "puVar25 + 0x69494" (identifier "puVar25") (+ "+") (number_literal "0x69494")) () ")"))))) () ")")) (argument_list "(apppppuStack_88,0x32)" (( "(") (identifier "apppppuStack_88") (, ",") (number_literal "0x32") () ")"))) (; ";")) (expression_statement "pppppppuVar12 = (undefined4 *******)apppppuStack_88;" (assignment_expression "pppppppuVar12 = (undefined4 *******)apppppuStack_88" (identifier "pppppppuVar12") (= "=") (cast_expression "(undefined4 *******)apppppuStack_88" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "apppppuStack_88"))) (; ";")) (expression_statement "iVar4 = FUN_0002d378(pppppppuVar19);" (assignment_expression "iVar4 = FUN_0002d378(pppppppuVar19)" (identifier "iVar4") (= "=") (call_expression "FUN_0002d378(pppppppuVar19)" (identifier "FUN_0002d378") (argument_list "(pppppppuVar19)" (( "(") (identifier "pppppppuVar19") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }\n  else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    pppppppuVar8 = &ppppppuStack_94;\n    pppppppuVar12 = pppppppuVar19;\n    iVar4 = FUN_0002a2c8(&uStack_90);\n    if (iVar4 != 0) goto LAB_0003da14;\n  }" ({ "{") (expression_statement "pppppppuVar8 = &ppppppuStack_94;" (assignment_expression "pppppppuVar8 = &ppppppuStack_94" (identifier "pppppppuVar8") (= "=") (pointer_expression "&ppppppuStack_94" (& "&") (identifier "ppppppuStack_94"))) (; ";")) (expression_statement "pppppppuVar12 = pppppppuVar19;" (assignment_expression "pppppppuVar12 = pppppppuVar19" (identifier "pppppppuVar12") (= "=") (identifier "pppppppuVar19")) (; ";")) (expression_statement "iVar4 = FUN_0002a2c8(&uStack_90);" (assignment_expression "iVar4 = FUN_0002a2c8(&uStack_90)" (identifier "iVar4") (= "=") (call_expression "FUN_0002a2c8(&uStack_90)" (identifier "FUN_0002a2c8") (argument_list "(&uStack_90)" (( "(") (pointer_expression "&uStack_90" (& "&") (identifier "uStack_90")) () ")")))) (; ";")) (if_statement "if (iVar4 != 0) goto LAB_0003da14;" (if "if") (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003da14;" (goto "goto") (statement_identifier "LAB_0003da14") (; ";"))) (} "}")) (else_clause "else {\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" (else "else") (compound_statement "{\nLAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;\n  }" ({ "{") (labeled_statement "LAB_0003da14:\n    ppppppuStack_94 = (undefined4 *******)0xffffffff;" (statement_identifier "LAB_0003da14") (: ":") (expression_statement "ppppppuStack_94 = (undefined4 *******)0xffffffff;" (assignment_expression "ppppppuStack_94 = (undefined4 *******)0xffffffff" (identifier "ppppppuStack_94") (= "=") (cast_expression "(undefined4 *******)0xffffffff" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) (; ";"))) (} "}")))) (if_statement "if (ppppppuStack_54 == *pppppppuVar3) {\n    return (undefined4 *******)ppppppuStack_94;\n  }" (if "if") (parenthesized_expression "(ppppppuStack_54 == *pppppppuVar3)" (( "(") (binary_expression "ppppppuStack_54 == *pppppppuVar3" (identifier "ppppppuStack_54") (== "==") (pointer_expression "*pppppppuVar3" (* "*") (identifier "pppppppuVar3"))) () ")")) (compound_statement "{\n    return (undefined4 *******)ppppppuStack_94;\n  }" ({ "{") (return_statement "return (undefined4 *******)ppppppuStack_94;" (return "return") (cast_expression "(undefined4 *******)ppppppuStack_94" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_94")) (; ";")) (} "}"))) (expression_statement "pcVar26 = *(code **)(puVar25 + 0x692c4);" (assignment_expression "pcVar26 = *(code **)(puVar25 + 0x692c4)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(puVar25 + 0x692c4)" (* "*") (cast_expression "(code **)(puVar25 + 0x692c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar25 + 0x692c4)" (( "(") (binary_expression "puVar25 + 0x692c4" (identifier "puVar25") (+ "+") (number_literal "0x692c4")) () ")"))))) (; ";")) (expression_statement "pppppppuVar10 = (undefined4 *******)ppppppuStack_54;" (assignment_expression "pppppppuVar10 = (undefined4 *******)ppppppuStack_54" (identifier "pppppppuVar10") (= "=") (cast_expression "(undefined4 *******)ppppppuStack_54" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_54"))) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcStack_e8 = pcVar26 + 0x706a4;" (assignment_expression "pcStack_e8 = pcVar26 + 0x706a4" (identifier "pcStack_e8") (= "=") (binary_expression "pcVar26 + 0x706a4" (identifier "pcVar26") (+ "+") (number_literal "0x706a4"))) (; ";")) (expression_statement "ppppppuVar5 = pppppppuVar10[0xb3];" (assignment_expression "ppppppuVar5 = pppppppuVar10[0xb3]" (identifier "ppppppuVar5") (= "=") (subscript_expression "pppppppuVar10[0xb3]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb3") (] "]"))) (; ";")) (expression_statement "puVar24 = *(undefined4 **)(pcVar26 + 0x69574);" (assignment_expression "puVar24 = *(undefined4 **)(pcVar26 + 0x69574)" (identifier "puVar24") (= "=") (pointer_expression "*(undefined4 **)(pcVar26 + 0x69574)" (* "*") (cast_expression "(undefined4 **)(pcVar26 + 0x69574)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x69574)" (( "(") (binary_expression "pcVar26 + 0x69574" (identifier "pcVar26") (+ "+") (number_literal "0x69574")) () ")"))))) (; ";")) (expression_statement "pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;" (assignment_expression "pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66" (identifier "pppppppuVar12") (= "=") (binary_expression "pppppppuVar10 + (int)pppppppuVar12 + 0x66" (binary_expression "pppppppuVar10 + (int)pppppppuVar12" (identifier "pppppppuVar10") (+ "+") (cast_expression "(int)pppppppuVar12" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar12"))) (+ "+") (number_literal "0x66"))) (; ";")) (expression_statement "uStack_c4 = 0x51;" (assignment_expression "uStack_c4 = 0x51" (identifier "uStack_c4") (= "=") (number_literal "0x51")) (; ";")) (expression_statement "piStack_dc = (int *)*puVar24;" (assignment_expression "piStack_dc = (int *)*puVar24" (identifier "piStack_dc") (= "=") (cast_expression "(int *)*puVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar24" (* "*") (identifier "puVar24")))) (; ";")) (expression_statement "ppppppuVar23 = *pppppppuVar12;" (assignment_expression "ppppppuVar23 = *pppppppuVar12" (identifier "ppppppuVar23") (= "=") (pointer_expression "*pppppppuVar12" (* "*") (identifier "pppppppuVar12"))) (; ";")) (expression_statement "puStack_c8 = puVar2;" (assignment_expression "puStack_c8 = puVar2" (identifier "puStack_c8") (= "=") (identifier "puVar2")) (; ";")) (expression_statement "*(undefined4 *)(puVar25 + 0x70780) = 0;" (assignment_expression "*(undefined4 *)(puVar25 + 0x70780) = 0" (pointer_expression "*(undefined4 *)(puVar25 + 0x70780)" (* "*") (cast_expression "(undefined4 *)(puVar25 + 0x70780)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar25 + 0x70780)" (( "(") (binary_expression "puVar25 + 0x70780" (identifier "puVar25") (+ "+") (number_literal "0x70780")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "pppppppuVar15 = (undefined4 *******)apppppuStack_88;" (assignment_expression "pppppppuVar15 = (undefined4 *******)apppppuStack_88" (identifier "pppppppuVar15") (= "=") (cast_expression "(undefined4 *******)apppppuStack_88" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "apppppuStack_88"))) (; ";")) (expression_statement "ppppppuStack_d8 = apppppuStack_88;" (assignment_expression "ppppppuStack_d8 = apppppuStack_88" (identifier "ppppppuStack_d8") (= "=") (identifier "apppppuStack_88")) (; ";")) (expression_statement "ppppppuStack_d4 = pppppppuVar3;" (assignment_expression "ppppppuStack_d4 = pppppppuVar3" (identifier "ppppppuStack_d4") (= "=") (identifier "pppppppuVar3")) (; ";")) (expression_statement "ppppppuStack_d0 = pppppppuVar19;" (assignment_expression "ppppppuStack_d0 = pppppppuVar19" (identifier "ppppppuStack_d0") (= "=") (identifier "pppppppuVar19")) (; ";")) (expression_statement "piStack_cc = &local_28;" (assignment_expression "piStack_cc = &local_28" (identifier "piStack_cc") (= "=") (pointer_expression "&local_28" (& "&") (identifier "local_28"))) (; ";")) (if_statement "if ((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }\n  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" (if "if") (parenthesized_expression "((ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1))" (( "(") (binary_expression "(ppppppuVar5 == (undefined4 ******)0x0) ||\n     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)" (parenthesized_expression "(ppppppuVar5 == (undefined4 ******)0x0)" (( "(") (binary_expression "ppppppuVar5 == (undefined4 ******)0x0" (identifier "ppppppuVar5") (== "==") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)" (( "(") (comma_expression "pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1" (assignment_expression "pppppppuVar15 = pppppppuVar10" (identifier "pppppppuVar15") (= "=") (identifier "pppppppuVar10")) (, ",") (binary_expression "pppppppuVar10[0xb5] == (undefined4 ******)0x1" (subscript_expression "pppppppuVar10[0xb5]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb5") (] "]")) (== "==") (cast_expression "(undefined4 ******)0x1" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1")))) () ")"))) () ")")) (compound_statement "{\n    pppppppuVar12 = pppppppuVar8;\n    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);\n    pppppppuVar14 = pppppppuVar13;\n    pppppppuVar10 = pppppppuVar15;\n  }" ({ "{") (expression_statement "pppppppuVar12 = pppppppuVar8;" (assignment_expression "pppppppuVar12 = pppppppuVar8" (identifier "pppppppuVar12") (= "=") (identifier "pppppppuVar8")) (; ";")) (expression_statement "pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);" (assignment_expression "pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" (identifier "pppppppuVar22") (= "=") (cast_expression "(undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68f9c))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x68f9c)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x68f9c)" (* "*") (cast_expression "(code **)(pcVar26 + 0x68f9c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68f9c)" (( "(") (binary_expression "pcVar26 + 0x68f9c" (identifier "pcVar26") (+ "+") (number_literal "0x68f9c")) () ")"))))) () ")")) (argument_list "(ppppppuVar23)" (( "(") (identifier "ppppppuVar23") () ")"))))) (; ";")) (expression_statement "pppppppuVar14 = pppppppuVar13;" (assignment_expression "pppppppuVar14 = pppppppuVar13" (identifier "pppppppuVar14") (= "=") (identifier "pppppppuVar13")) (; ";")) (expression_statement "pppppppuVar10 = pppppppuVar15;" (assignment_expression "pppppppuVar10 = pppppppuVar15" (identifier "pppppppuVar10") (= "=") (identifier "pppppppuVar15")) (; ";")) (} "}")) (else_clause "else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" (else "else") (if_statement "if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }\n  else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" (if "if") (parenthesized_expression "(pppppppuVar10[0xbb] == (undefined4 ******)0x0)" (( "(") (binary_expression "pppppppuVar10[0xbb] == (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xbb]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xbb") (] "]")) (== "==") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);\n    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);\n    if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }\n    pppppppuVar14 = pppppppuVar3;\n    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);\n    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);\n    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n    pppppppuVar22 = pppppppuVar3;\n    if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }\n  }" ({ "{") (expression_statement "pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);" (assignment_expression "pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" (identifier "pppppppuVar3") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba])" (( "(") (binary_expression "(int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]" (cast_expression "(int)pppppppuVar10[0xb9]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0xb9]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb9") (] "]"))) (- "-") (cast_expression "(int)pppppppuVar10[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0xba]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xba") (] "]")))) () ")")))) (; ";")) (expression_statement "pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);" (assignment_expression "pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" (identifier "pppppppuVar12") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba])" (( "(") (binary_expression "(int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]" (cast_expression "(int)pppppppuVar10[0xb8]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0xb8]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb8") (] "]"))) (+ "+") (cast_expression "(int)pppppppuVar10[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0xba]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xba") (] "]")))) () ")")))) (; ";")) (if_statement "if (pppppppuVar13 < pppppppuVar3) {\n      pppppppuVar3 = pppppppuVar13;\n    }" (if "if") (parenthesized_expression "(pppppppuVar13 < pppppppuVar3)" (( "(") (binary_expression "pppppppuVar13 < pppppppuVar3" (identifier "pppppppuVar13") (< "<") (identifier "pppppppuVar3")) () ")")) (compound_statement "{\n      pppppppuVar3 = pppppppuVar13;\n    }" ({ "{") (expression_statement "pppppppuVar3 = pppppppuVar13;" (assignment_expression "pppppppuVar3 = pppppppuVar13" (identifier "pppppppuVar3") (= "=") (identifier "pppppppuVar13")) (; ";")) (} "}"))) (expression_statement "pppppppuVar14 = pppppppuVar3;" (assignment_expression "pppppppuVar14 = pppppppuVar3" (identifier "pppppppuVar14") (= "=") (identifier "pppppppuVar3")) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x69480))(pppppppuVar8);" (call_expression "(**(code **)(pcVar26 + 0x69480))(pppppppuVar8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69480))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x69480)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x69480)" (* "*") (cast_expression "(code **)(pcVar26 + 0x69480)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x69480)" (( "(") (binary_expression "pcVar26 + 0x69480" (identifier "pcVar26") (+ "+") (number_literal "0x69480")) () ")"))))) () ")")) (argument_list "(pppppppuVar8)" (( "(") (identifier "pppppppuVar8") () ")"))) (; ";")) (expression_statement "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" (identifier "pppppppuVar8") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar8 + (int)pppppppuVar3)" (( "(") (binary_expression "(int)pppppppuVar8 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar8")) (+ "+") (cast_expression "(int)pppppppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar3"))) () ")")))) (; ";")) (expression_statement "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);" (assignment_expression "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3)" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar13 - (int)pppppppuVar3)" (( "(") (binary_expression "(int)pppppppuVar13 - (int)pppppppuVar3" (cast_expression "(int)pppppppuVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar13")) (- "-") (cast_expression "(int)pppppppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar3"))) () ")")))) (; ";")) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (subscript_expression "pppppppuVar10[0xba]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xba") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (( "(") (binary_expression "(int)pppppppuVar10[0xba] + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar10[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0xba]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xba") (] "]"))) (+ "+") (cast_expression "(int)pppppppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar3"))) () ")")))) (; ";")) (expression_statement "pppppppuVar22 = pppppppuVar3;" (assignment_expression "pppppppuVar22 = pppppppuVar3" (identifier "pppppppuVar22") (= "=") (identifier "pppppppuVar3")) (; ";")) (if_statement "if (pppppppuVar19 != (undefined4 *******)0x0) {\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }" (if "if") (parenthesized_expression "(pppppppuVar19 != (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar19 != (undefined4 *******)0x0" (identifier "pppppppuVar19") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);\n    }" ({ "{") (do_statement "do {\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      } while (pppppppuVar19 != (undefined4 *******)0x0);" (do "do") (compound_statement "{\n        pppppppuVar14 = (undefined4 *******)0x4;\n        pppppppuVar12 = &ppppppuStack_e0;\n        iVar4 = FUN_0003d8c4(ppppppuVar23);\n        if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }\n        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);\n        pppppppuVar10[0xb8] = pppppppuVar13;\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;\n        ppppppuStack_f0 = pppppppuVar10;\n        pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);\n        pppppppuVar10[0xba] = (undefined4 ******)0x0;\n        pppppppuVar10[0xb9] = pppppppuVar13;\n        if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }\n        pppppppuVar3 = pppppppuVar13;\n        if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }\n        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];\n        pppppppuVar14 = pppppppuVar3;\n        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);\n        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);\n        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);\n        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);\n        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);\n      }" ({ "{") (expression_statement "pppppppuVar14 = (undefined4 *******)0x4;" (assignment_expression "pppppppuVar14 = (undefined4 *******)0x4" (identifier "pppppppuVar14") (= "=") (cast_expression "(undefined4 *******)0x4" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x4"))) (; ";")) (expression_statement "pppppppuVar12 = &ppppppuStack_e0;" (assignment_expression "pppppppuVar12 = &ppppppuStack_e0" (identifier "pppppppuVar12") (= "=") (pointer_expression "&ppppppuStack_e0" (& "&") (identifier "ppppppuStack_e0"))) (; ";")) (expression_statement "iVar4 = FUN_0003d8c4(ppppppuVar23);" (assignment_expression "iVar4 = FUN_0003d8c4(ppppppuVar23)" (identifier "iVar4") (= "=") (call_expression "FUN_0003d8c4(ppppppuVar23)" (identifier "FUN_0003d8c4") (argument_list "(ppppppuVar23)" (( "(") (identifier "ppppppuVar23") () ")")))) (; ";")) (if_statement "if ((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }" (if "if") (parenthesized_expression "((iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0))" (( "(") (binary_expression "(iVar4 != 0) ||\n           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" (parenthesized_expression "(iVar4 != 0)" (( "(") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" (( "(") (comma_expression "pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,\n           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (assignment_expression "pppppppuVar12 = (undefined4 *******)ppppppuStack_e0" (identifier "pppppppuVar12") (= "=") (cast_expression "(undefined4 *******)ppppppuStack_e0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_e0"))) (, ",") (binary_expression "(undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuStack_e0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_e0")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")))) () ")"))) () ")")) (compound_statement "{\nLAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;\n          break;\n        }" ({ "{") (labeled_statement "LAB_0003dbc0:\n          pppppppuVar22 = (undefined4 *******)0xffffffff;" (statement_identifier "LAB_0003dbc0") (: ":") (expression_statement "pppppppuVar22 = (undefined4 *******)0xffffffff;" (assignment_expression "pppppppuVar22 = (undefined4 *******)0xffffffff" (identifier "pppppppuVar22") (= "=") (cast_expression "(undefined4 *******)0xffffffff" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);" (assignment_expression "pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8])" (identifier "pppppppuVar13") (= "=") (cast_expression "(undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8])" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "FUN_0004e494(pppppppuVar10[0xb8])" (identifier "FUN_0004e494") (argument_list "(pppppppuVar10[0xb8])" (( "(") (subscript_expression "pppppppuVar10[0xb8]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb8") (] "]")) () ")"))))) (; ";")) (expression_statement "pppppppuVar10[0xb8] = pppppppuVar13;" (assignment_expression "pppppppuVar10[0xb8] = pppppppuVar13" (subscript_expression "pppppppuVar10[0xb8]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb8") (] "]")) (= "=") (identifier "pppppppuVar13")) (; ";")) (expression_statement "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;" (assignment_expression "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0" (identifier "pppppppuVar14") (= "=") (cast_expression "(undefined4 *******)ppppppuStack_e0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_e0"))) (; ";")) (if_statement "if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))\n        goto LAB_0003dbc0;" (if "if") (parenthesized_expression "(((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))" (( "(") (binary_expression "((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||\n           ((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)))" (parenthesized_expression "((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)" (( "(") (binary_expression "(undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0" (cast_expression "(undefined4 *******)ppppppuStack_e0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_e0")) (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "((pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)))" (( "(") (parenthesized_expression "(pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))" (( "(") (binary_expression "pppppppuVar13 == (undefined4 *******)0x0 ||\n            (iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)" (binary_expression "pppppppuVar13 == (undefined4 *******)0x0" (identifier "pppppppuVar13") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0)" (( "(") (comma_expression "iVar4 = FUN_0003d8c4(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0" (assignment_expression "iVar4 = FUN_0003d8c4(ppppppuVar23)" (identifier "iVar4") (= "=") (call_expression "FUN_0003d8c4(ppppppuVar23)" (identifier "FUN_0003d8c4") (argument_list "(ppppppuVar23)" (( "(") (identifier "ppppppuVar23") () ")")))) (, ",") (comma_expression "pppppppuVar12 = pppppppuVar13, iVar4 != 0" (assignment_expression "pppppppuVar12 = pppppppuVar13" (identifier "pppppppuVar12") (= "=") (identifier "pppppppuVar13")) (, ",") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0003dbc0;" (goto "goto") (statement_identifier "LAB_0003dbc0") (; ";"))) (expression_statement "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];" (assignment_expression "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8]" (identifier "pppppppuVar12") (= "=") (cast_expression "(undefined4 *******)pppppppuVar10[0xb8]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppppuVar10[0xb8]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb8") (] "]")))) (; ";")) (expression_statement "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;" (assignment_expression "pppppppuVar14 = (undefined4 *******)ppppppuStack_e0" (identifier "pppppppuVar14") (= "=") (cast_expression "(undefined4 *******)ppppppuStack_e0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_e0"))) (; ";")) (expression_statement "ppppppuStack_f0 = pppppppuVar10;" (assignment_expression "ppppppuStack_f0 = pppppppuVar10" (identifier "ppppppuStack_f0") (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);" (assignment_expression "pppppppuVar13 =\n             (undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" (identifier "pppppppuVar13") (= "=") (cast_expression "(undefined4 *******)\n             (*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (call_expression "(*(code *)pppppppuVar10[0xbd][8])\n                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" (parenthesized_expression "(*(code *)pppppppuVar10[0xbd][8])" (( "(") (pointer_expression "*(code *)pppppppuVar10[0xbd][8]" (* "*") (cast_expression "(code *)pppppppuVar10[0xbd][8]" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "pppppppuVar10[0xbd][8]" (subscript_expression "pppppppuVar10[0xbd]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xbd") (] "]")) ([ "[") (number_literal "8") (] "]")))) () ")")) (argument_list "(pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5])" (( "(") (subscript_expression "pppppppuVar10[0xbc]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xbc") (] "]")) (, ",") (identifier "pppppppuVar12") (, ",") (identifier "ppppppuStack_e0") (, ",") (subscript_expression "pppppppuVar10[0xb5]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb5") (] "]")) () ")"))))) (; ";")) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)0x0;" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xba]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xba") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppuVar10[0xb9] = pppppppuVar13;" (assignment_expression "pppppppuVar10[0xb9] = pppppppuVar13" (subscript_expression "pppppppuVar10[0xb9]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb9") (] "]")) (= "=") (identifier "pppppppuVar13")) (; ";")) (if_statement "if (pppppppuVar13 == (undefined4 *******)0x0) {\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }" (if "if") (parenthesized_expression "(pppppppuVar13 == (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar13 == (undefined4 *******)0x0" (identifier "pppppppuVar13") (== "==") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          pppppppuVar22 = pppppppuVar3;\n          if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }\n          break;\n        }" ({ "{") (expression_statement "pppppppuVar22 = pppppppuVar3;" (assignment_expression "pppppppuVar22 = pppppppuVar3" (identifier "pppppppuVar22") (= "=") (identifier "pppppppuVar3")) (; ";")) (if_statement "if (pppppppuVar3 != (undefined4 *******)0x0) {\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }" (if "if") (parenthesized_expression "(pppppppuVar3 != (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar3 != (undefined4 *******)0x0" (identifier "pppppppuVar3") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pppppppuVar10[0xbb] = (undefined4 ******)0x1;\n          }" ({ "{") (expression_statement "pppppppuVar10[0xbb] = (undefined4 ******)0x1;" (assignment_expression "pppppppuVar10[0xbb] = (undefined4 ******)0x1" (subscript_expression "pppppppuVar10[0xbb]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xbb") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x1" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x1"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (expression_statement "pppppppuVar3 = pppppppuVar13;" (assignment_expression "pppppppuVar3 = pppppppuVar13" (identifier "pppppppuVar3") (= "=") (identifier "pppppppuVar13")) (; ";")) (if_statement "if (pppppppuVar19 <= pppppppuVar13) {\n          pppppppuVar3 = pppppppuVar19;\n        }" (if "if") (parenthesized_expression "(pppppppuVar19 <= pppppppuVar13)" (( "(") (binary_expression "pppppppuVar19 <= pppppppuVar13" (identifier "pppppppuVar19") (<= "<=") (identifier "pppppppuVar13")) () ")")) (compound_statement "{\n          pppppppuVar3 = pppppppuVar19;\n        }" ({ "{") (expression_statement "pppppppuVar3 = pppppppuVar19;" (assignment_expression "pppppppuVar3 = pppppppuVar19" (identifier "pppppppuVar3") (= "=") (identifier "pppppppuVar19")) (; ";")) (} "}"))) (expression_statement "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];" (assignment_expression "pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8]" (identifier "pppppppuVar12") (= "=") (cast_expression "(undefined4 *******)pppppppuVar10[0xb8]" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (subscript_expression "pppppppuVar10[0xb8]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xb8") (] "]")))) (; ";")) (expression_statement "pppppppuVar14 = pppppppuVar3;" (assignment_expression "pppppppuVar14 = pppppppuVar3" (identifier "pppppppuVar14") (= "=") (identifier "pppppppuVar3")) (; ";")) (expression_statement "(**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);" (call_expression "(**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8)" (parenthesized_expression "(**(code **)(pcStack_e8 + -0x7224))" (( "(") (pointer_expression "**(code **)(pcStack_e8 + -0x7224)" (* "*") (pointer_expression "*(code **)(pcStack_e8 + -0x7224)" (* "*") (cast_expression "(code **)(pcStack_e8 + -0x7224)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e8 + -0x7224)" (( "(") (binary_expression "pcStack_e8 + -0x7224" (identifier "pcStack_e8") (+ "+") (number_literal "-0x7224")) () ")"))))) () ")")) (argument_list "(pppppppuVar8)" (( "(") (identifier "pppppppuVar8") () ")"))) (; ";")) (expression_statement "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);" (assignment_expression "pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3)" (identifier "pppppppuVar19") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar19 - (int)pppppppuVar3)" (( "(") (binary_expression "(int)pppppppuVar19 - (int)pppppppuVar3" (cast_expression "(int)pppppppuVar19" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar19")) (- "-") (cast_expression "(int)pppppppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar3"))) () ")")))) (; ";")) (expression_statement "pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3)" (identifier "pppppppuVar22") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar22 + (int)pppppppuVar3)" (( "(") (binary_expression "(int)pppppppuVar22 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar22" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar22")) (+ "+") (cast_expression "(int)pppppppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar3"))) () ")")))) (; ";")) (expression_statement "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);" (assignment_expression "pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" (identifier "pppppppuVar8") (= "=") (cast_expression "(undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3)" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (parenthesized_expression "((int)pppppppuVar8 + (int)pppppppuVar3)" (( "(") (binary_expression "(int)pppppppuVar8 + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar8")) (+ "+") (cast_expression "(int)pppppppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar3"))) () ")")))) (; ";")) (expression_statement "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);" (assignment_expression "pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (subscript_expression "pppppppuVar10[0xba]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xba") (] "]")) (= "=") (cast_expression "(undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (parenthesized_expression "((int)pppppppuVar10[0xba] + (int)pppppppuVar3)" (( "(") (binary_expression "(int)pppppppuVar10[0xba] + (int)pppppppuVar3" (cast_expression "(int)pppppppuVar10[0xba]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "pppppppuVar10[0xba]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xba") (] "]"))) (+ "+") (cast_expression "(int)pppppppuVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pppppppuVar3"))) () ")")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pppppppuVar19 != (undefined4 *******)0x0)" (( "(") (binary_expression "pppppppuVar19 != (undefined4 *******)0x0" (identifier "pppppppuVar19") (!= "!=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" (else "else") (compound_statement "{\n    pppppppuVar10[0xbb] = (undefined4 ******)0x0;\n    pppppppuVar22 = (undefined4 *******)0x0;\n    pppppppuVar14 = pppppppuVar8;\n  }" ({ "{") (expression_statement "pppppppuVar10[0xbb] = (undefined4 ******)0x0;" (assignment_expression "pppppppuVar10[0xbb] = (undefined4 ******)0x0" (subscript_expression "pppppppuVar10[0xbb]" (identifier "pppppppuVar10") ([ "[") (number_literal "0xbb") (] "]")) (= "=") (cast_expression "(undefined4 ******)0x0" (( "(") (type_descriptor "undefined4 ******" (type_identifier "undefined4") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppuVar22 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar22 = (undefined4 *******)0x0" (identifier "pppppppuVar22") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "pppppppuVar14 = pppppppuVar8;" (assignment_expression "pppppppuVar14 = pppppppuVar8" (identifier "pppppppuVar14") (= "=") (identifier "pppppppuVar8")) (; ";")) (} "}")))))) (if_statement "if (piStack_dc == (int *)*puVar24) {\n    return pppppppuVar22;\n  }" (if "if") (parenthesized_expression "(piStack_dc == (int *)*puVar24)" (( "(") (binary_expression "piStack_dc == (int *)*puVar24" (identifier "piStack_dc") (== "==") (cast_expression "(int *)*puVar24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar24" (* "*") (identifier "puVar24")))) () ")")) (compound_statement "{\n    return pppppppuVar22;\n  }" ({ "{") (return_statement "return pppppppuVar22;" (return "return") (identifier "pppppppuVar22") (; ";")) (} "}"))) (expression_statement "pcVar26 = *(code **)(pcStack_e8 + -0x74bc);" (assignment_expression "pcVar26 = *(code **)(pcStack_e8 + -0x74bc)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcStack_e8 + -0x74bc)" (* "*") (cast_expression "(code **)(pcStack_e8 + -0x74bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcStack_e8 + -0x74bc)" (( "(") (binary_expression "pcStack_e8 + -0x74bc" (identifier "pcStack_e8") (+ "+") (number_literal "-0x74bc")) () ")"))))) (; ";")) (expression_statement "pcVar27 = FUN_0003dcc4;" (assignment_expression "pcVar27 = FUN_0003dcc4" (identifier "pcVar27") (= "=") (identifier "FUN_0003dcc4")) (; ";")) (expression_statement "piVar11 = piStack_dc;" (assignment_expression "piVar11 = piStack_dc" (identifier "piVar11") (= "=") (identifier "piStack_dc")) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "piVar20 = *(int **)(pcVar26 + 0x6931c);" (assignment_expression "piVar20 = *(int **)(pcVar26 + 0x6931c)" (identifier "piVar20") (= "=") (pointer_expression "*(int **)(pcVar26 + 0x6931c)" (* "*") (cast_expression "(int **)(pcVar26 + 0x6931c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x6931c)" (( "(") (binary_expression "pcVar26 + 0x6931c" (identifier "pcVar26") (+ "+") (number_literal "0x6931c")) () ")"))))) (; ";")) (expression_statement "ppppppuStack_124 = (undefined4 *******)0x0;" (assignment_expression "ppppppuStack_124 = (undefined4 *******)0x0" (identifier "ppppppuStack_124") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "iStack_120 = 0;" (assignment_expression "iStack_120 = 0" (identifier "iStack_120") (= "=") (number_literal "0")) (; ";")) (expression_statement "iStack_11c = *piVar20;" (assignment_expression "iStack_11c = *piVar20" (identifier "iStack_11c") (= "=") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) (; ";")) (expression_statement "pppppppuVar13 = pppppppuVar12;" (assignment_expression "pppppppuVar13 = pppppppuVar12" (identifier "pppppppuVar13") (= "=") (identifier "pppppppuVar12")) (; ";")) (expression_statement "ppppppuStack_114 = pppppppuVar10;" (assignment_expression "ppppppuStack_114 = pppppppuVar10" (identifier "ppppppuStack_114") (= "=") (identifier "pppppppuVar10")) (; ";")) (expression_statement "ppppppuStack_110 = pppppppuVar3;" (assignment_expression "ppppppuStack_110 = pppppppuVar3" (identifier "ppppppuStack_110") (= "=") (identifier "pppppppuVar3")) (; ";")) (expression_statement "ppppppuStack_10c = pppppppuVar19;" (assignment_expression "ppppppuStack_10c = pppppppuVar19" (identifier "ppppppuStack_10c") (= "=") (identifier "pppppppuVar19")) (; ";")) (expression_statement "ppppppuStack_108 = pppppppuVar8;" (assignment_expression "ppppppuStack_108 = pppppppuVar8" (identifier "ppppppuStack_108") (= "=") (identifier "pppppppuVar8")) (; ";")) (expression_statement "pcStack_104 = pcVar27;" (assignment_expression "pcStack_104 = pcVar27" (identifier "pcStack_104") (= "=") (identifier "pcVar27")) (; ";")) (if_statement "if (piVar11[0xbd] != 0) {\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }" (if "if") (parenthesized_expression "(piVar11[0xbd] != 0)" (( "(") (binary_expression "piVar11[0xbd] != 0" (subscript_expression "piVar11[0xbd]" (identifier "piVar11") ([ "[") (number_literal "0xbd") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pppppppuVar13 = &ppppppuStack_128;\n    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);\n    if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }\n  }" ({ "{") (expression_statement "pppppppuVar13 = &ppppppuStack_128;" (assignment_expression "pppppppuVar13 = &ppppppuStack_128" (identifier "pppppppuVar13") (= "=") (pointer_expression "&ppppppuStack_128" (& "&") (identifier "ppppppuStack_128"))) (; ";")) (expression_statement "iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);" (assignment_expression "iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68920))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x68920)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x68920)" (* "*") (cast_expression "(code **)(pcVar26 + 0x68920)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68920)" (( "(") (binary_expression "pcVar26 + 0x68920" (identifier "pcVar26") (+ "+") (number_literal "0x68920")) () ")"))))) () ")")) (argument_list "(pppppppuVar12 + 1,pppppppuVar13,&iStack_120)" (( "(") (binary_expression "pppppppuVar12 + 1" (identifier "pppppppuVar12") (+ "+") (number_literal "1")) (, ",") (identifier "pppppppuVar13") (, ",") (pointer_expression "&iStack_120" (& "&") (identifier "iStack_120")) () ")")))) (; ";")) (if_statement "if ((iVar4 == 0) && (iStack_120 != 0)) {\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }" (if "if") (parenthesized_expression "((iVar4 == 0) && (iStack_120 != 0))" (( "(") (binary_expression "(iVar4 == 0) && (iStack_120 != 0)" (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iStack_120 != 0)" (( "(") (binary_expression "iStack_120 != 0" (identifier "iStack_120") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }\n      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n    }" ({ "{") (if_statement "if (-1 < iStack_120) {\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" (if "if") (parenthesized_expression "(-1 < iStack_120)" (( "(") (binary_expression "-1 < iStack_120" (number_literal "-1") (< "<") (identifier "iStack_120")) () ")")) (compound_statement "{\n        uVar6 = (**(code **)(pcVar26 + 0x68860))();\n        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);\n        if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }\n      }" ({ "{") (expression_statement "uVar6 = (**(code **)(pcVar26 + 0x68860))();" (assignment_expression "uVar6 = (**(code **)(pcVar26 + 0x68860))()" (identifier "uVar6") (= "=") (call_expression "(**(code **)(pcVar26 + 0x68860))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x68860))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x68860)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x68860)" (* "*") (cast_expression "(code **)(pcVar26 + 0x68860)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68860)" (( "(") (binary_expression "pcVar26 + 0x68860" (identifier "pcVar26") (+ "+") (number_literal "0x68860")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "pppppppuVar13 = (undefined4 *******)ppppppuStack_128;" (assignment_expression "pppppppuVar13 = (undefined4 *******)ppppppuStack_128" (identifier "pppppppuVar13") (= "=") (cast_expression "(undefined4 *******)ppppppuStack_128" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_128"))) (; ";")) (expression_statement "iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);" (assignment_expression "iVar4 = (**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(piVar11[0xbd] + 0x20))\n                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" (parenthesized_expression "(**(code **)(piVar11[0xbd] + 0x20))" (( "(") (pointer_expression "**(code **)(piVar11[0xbd] + 0x20)" (* "*") (pointer_expression "*(code **)(piVar11[0xbd] + 0x20)" (* "*") (cast_expression "(code **)(piVar11[0xbd] + 0x20)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(piVar11[0xbd] + 0x20)" (( "(") (binary_expression "piVar11[0xbd] + 0x20" (subscript_expression "piVar11[0xbd]" (identifier "piVar11") ([ "[") (number_literal "0xbd") (] "]")) (+ "+") (number_literal "0x20")) () ")"))))) () ")")) (argument_list "(piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11)" (( "(") (subscript_expression "piVar11[0xbc]" (identifier "piVar11") ([ "[") (number_literal "0xbc") (] "]")) (, ",") (identifier "ppppppuStack_128") (, ",") (identifier "uVar6") (, ",") (identifier "pppppppuVar14") (, ",") (identifier "piVar11") () ")")))) (; ";")) (if_statement "if (0 < iVar4) {\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }" (if "if") (parenthesized_expression "(0 < iVar4)" (( "(") (binary_expression "0 < iVar4" (number_literal "0") (< "<") (identifier "iVar4")) () ")")) (compound_statement "{\n          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }\n          *puVar7 = 0;\n          if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }\n          goto LAB_0003ddec;\n        }" ({ "{") (expression_statement "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);" (assignment_expression "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)((int)ppppppuStack_128 + iVar4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuStack_128 + iVar4)" (( "(") (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuStack_128")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (if_statement "if (*(char *)(*piVar11 + 0x958) != '\0') {\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }" (if "if") (parenthesized_expression "(*(char *)(*piVar11 + 0x958) != '\0')" (( "(") (binary_expression "*(char *)(*piVar11 + 0x958) != '\0'" (pointer_expression "*(char *)(*piVar11 + 0x958)" (* "*") (cast_expression "(char *)(*piVar11 + 0x958)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar11 + 0x958)" (( "(") (binary_expression "*piVar11 + 0x958" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (+ "+") (number_literal "0x958")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            *puVar7 = 10;\n            pppppppuVar13 = (undefined4 *******)0x1;\n            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);\n            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);\n          }" ({ "{") (expression_statement "*puVar7 = 10;" (assignment_expression "*puVar7 = 10" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "10")) (; ";")) (expression_statement "pppppppuVar13 = (undefined4 *******)0x1;" (assignment_expression "pppppppuVar13 = (undefined4 *******)0x1" (identifier "pppppppuVar13") (= "=") (cast_expression "(undefined4 *******)0x1" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);" (call_expression "FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1)" (identifier "FUN_00026010") (argument_list "(*piVar11,1,ppppppuStack_128,iVar4 + 1)" (( "(") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (, ",") (number_literal "1") (, ",") (identifier "ppppppuStack_128") (, ",") (binary_expression "iVar4 + 1" (identifier "iVar4") (+ "+") (number_literal "1")) () ")"))) (; ";")) (expression_statement "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);" (assignment_expression "puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4)" (identifier "puVar7") (= "=") (cast_expression "(undefined1 *)((int)ppppppuStack_128 + iVar4)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuStack_128 + iVar4)" (( "(") (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuStack_128")) (+ "+") (identifier "iVar4")) () ")")))) (; ";")) (} "}"))) (expression_statement "*puVar7 = 0;" (assignment_expression "*puVar7 = 0" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (iVar4 < 4) {\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }\n          else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" (if "if") (parenthesized_expression "(iVar4 < 4)" (( "(") (binary_expression "iVar4 < 4" (identifier "iVar4") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n            pppppppuVar8 = (undefined4 *******)0x0;\n          }" ({ "{") (expression_statement "pppppppuVar8 = (undefined4 *******)0x0;" (assignment_expression "pppppppuVar8 = (undefined4 *******)0x0" (identifier "pppppppuVar8") (= "=") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" (else "else") (compound_statement "{\n            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }\n            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;\n            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);\n            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);\n            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;\n          }" ({ "{") (if_statement "if (*(char *)((int)ppppppuStack_128 + 3) == '-') {\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }\n            else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" (if "if") (parenthesized_expression "(*(char *)((int)ppppppuStack_128 + 3) == '-')" (( "(") (binary_expression "*(char *)((int)ppppppuStack_128 + 3) == '-'" (pointer_expression "*(char *)((int)ppppppuStack_128 + 3)" (* "*") (cast_expression "(char *)((int)ppppppuStack_128 + 3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuStack_128 + 3)" (( "(") (binary_expression "(int)ppppppuStack_128 + 3" (cast_expression "(int)ppppppuStack_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuStack_128")) (+ "+") (number_literal "3")) () ")")))) (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" ({ "{") (expression_statement "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);" (assignment_expression "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1)" (identifier "pcVar16") (= "=") (cast_expression "(char *)((int)ppppppuStack_128 + iVar4 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuStack_128 + iVar4 + -1)" (( "(") (binary_expression "(int)ppppppuStack_128 + iVar4 + -1" (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuStack_128")) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" (identifier "cVar1") (= "=") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16"))) (; ";")) (} "}")) (else_clause "else {\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" (else "else") (compound_statement "{\n              (**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);\n              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);\n              cVar1 = *pcVar16;\n            }" ({ "{") (expression_statement "(**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);" (call_expression "(**(code **)(pcVar26 + 0x69020))\n                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69020))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x69020)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x69020)" (* "*") (cast_expression "(code **)(pcVar26 + 0x69020)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x69020)" (( "(") (binary_expression "pcVar26 + 0x69020" (identifier "pcVar26") (+ "+") (number_literal "0x69020")) () ")"))))) () ")")) (argument_list "(ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124)" (( "(") (identifier "ppppppuStack_128") (, ",") (binary_expression "*(int *)(pcVar26 + 0x684d0) + -0x6f58" (pointer_expression "*(int *)(pcVar26 + 0x684d0)" (* "*") (cast_expression "(int *)(pcVar26 + 0x684d0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x684d0)" (( "(") (binary_expression "pcVar26 + 0x684d0" (identifier "pcVar26") (+ "+") (number_literal "0x684d0")) () ")")))) (+ "+") (number_literal "-0x6f58")) (, ",") (pointer_expression "&ppppppuStack_124" (& "&") (identifier "ppppppuStack_124")) () ")"))) (; ";")) (expression_statement "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);" (assignment_expression "pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1)" (identifier "pcVar16") (= "=") (cast_expression "(char *)((int)ppppppuStack_128 + iVar4 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppppppuStack_128 + iVar4 + -1)" (( "(") (binary_expression "(int)ppppppuStack_128 + iVar4 + -1" (binary_expression "(int)ppppppuStack_128 + iVar4" (cast_expression "(int)ppppppuStack_128" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppppppuStack_128")) (+ "+") (identifier "iVar4")) (+ "+") (number_literal "-1")) () ")")))) (; ";")) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" (identifier "cVar1") (= "=") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16"))) (; ";")) (} "}")))) (if_statement "if (cVar1 == '\n') {\n              *pcVar16 = '\0';\n            }" (if "if") (parenthesized_expression "(cVar1 == '\n')" (( "(") (binary_expression "cVar1 == '\n'" (identifier "cVar1") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n              *pcVar16 = '\0';\n            }" ({ "{") (expression_statement "*pcVar16 = '\0';" (assignment_expression "*pcVar16 = '\0'" (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (} "}"))) (expression_statement "pppppppuVar13 = (undefined4 *******)ppppppuStack_128;" (assignment_expression "pppppppuVar13 = (undefined4 *******)ppppppuStack_128" (identifier "pppppppuVar13") (= "=") (cast_expression "(undefined4 *******)ppppppuStack_128" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_128"))) (; ";")) (expression_statement "(**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);" (call_expression "(**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68c90))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x68c90)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x68c90)" (* "*") (cast_expression "(code **)(pcVar26 + 0x68c90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68c90)" (( "(") (binary_expression "pcVar26 + 0x68c90" (identifier "pcVar26") (+ "+") (number_literal "0x68c90")) () ")"))))) () ")")) (argument_list "(pppppppuVar12,ppppppuStack_128)" (( "(") (identifier "pppppppuVar12") (, ",") (identifier "ppppppuStack_128") () ")"))) (; ";")) (expression_statement "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);" (call_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar26 + 0x68480)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar26 + 0x68480)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar26 + 0x68480)" (* "*") (pointer_expression "*(undefined4 **)(pcVar26 + 0x68480)" (* "*") (cast_expression "(undefined4 **)(pcVar26 + 0x68480)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68480)" (( "(") (binary_expression "pcVar26 + 0x68480" (identifier "pcVar26") (+ "+") (number_literal "0x68480")) () ")"))))))) () ")")) (argument_list "(ppppppuStack_128)" (( "(") (identifier "ppppppuStack_128") () ")"))) (; ";")) (expression_statement "pppppppuVar8 = (undefined4 *******)ppppppuStack_124;" (assignment_expression "pppppppuVar8 = (undefined4 *******)ppppppuStack_124" (identifier "pppppppuVar8") (= "=") (cast_expression "(undefined4 *******)ppppppuStack_124" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (identifier "ppppppuStack_124"))) (; ";")) (} "}")))) (goto_statement "goto LAB_0003ddec;" (goto "goto") (statement_identifier "LAB_0003ddec") (; ";")) (} "}"))) (} "}"))) (expression_statement "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);" (call_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128)" (parenthesized_expression "(*(code *)**(undefined4 **)(pcVar26 + 0x68480))" (( "(") (pointer_expression "*(code *)**(undefined4 **)(pcVar26 + 0x68480)" (* "*") (cast_expression "(code *)**(undefined4 **)(pcVar26 + 0x68480)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(pcVar26 + 0x68480)" (* "*") (pointer_expression "*(undefined4 **)(pcVar26 + 0x68480)" (* "*") (cast_expression "(undefined4 **)(pcVar26 + 0x68480)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68480)" (( "(") (binary_expression "pcVar26 + 0x68480" (identifier "pcVar26") (+ "+") (number_literal "0x68480")) () ")"))))))) () ")")) (argument_list "(ppppppuStack_128)" (( "(") (identifier "ppppppuStack_128") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pppppppuVar8 = (undefined4 *******)0xffffffff;" (assignment_expression "pppppppuVar8 = (undefined4 *******)0xffffffff" (identifier "pppppppuVar8") (= "=") (cast_expression "(undefined4 *******)0xffffffff" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff"))) (; ";")) (labeled_statement "LAB_0003ddec:\n  if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }" (statement_identifier "LAB_0003ddec") (: ":") (if_statement "if (iStack_11c == *piVar20) {\n    return pppppppuVar8;\n  }" (if "if") (parenthesized_expression "(iStack_11c == *piVar20)" (( "(") (binary_expression "iStack_11c == *piVar20" (identifier "iStack_11c") (== "==") (pointer_expression "*piVar20" (* "*") (identifier "piVar20"))) () ")")) (compound_statement "{\n    return pppppppuVar8;\n  }" ({ "{") (return_statement "return pppppppuVar8;" (return "return") (identifier "pppppppuVar8") (; ";")) (} "}")))) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x68f90);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x68f90)" (identifier "pcVar26") (= "=") (pointer_expression "*(code **)(pcVar26 + 0x68f90)" (* "*") (cast_expression "(code **)(pcVar26 + 0x68f90)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68f90)" (( "(") (binary_expression "pcVar26 + 0x68f90" (identifier "pcVar26") (+ "+") (number_literal "0x68f90")) () ")"))))) (; ";")) (expression_statement "iVar4 = iStack_11c;" (assignment_expression "iVar4 = iStack_11c" (identifier "iVar4") (= "=") (identifier "iStack_11c")) (; ";")) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" (( "(") (pointer_expression "*pcVar26" (* "*") (identifier "pcVar26")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar18 = 0;" (assignment_expression "iVar18 = 0" (identifier "iVar18") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar17 = *(int *)(pcVar26 + 0x68278);" (assignment_expression "iVar17 = *(int *)(pcVar26 + 0x68278)" (identifier "iVar17") (= "=") (pointer_expression "*(int *)(pcVar26 + 0x68278)" (* "*") (cast_expression "(int *)(pcVar26 + 0x68278)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x68278)" (( "(") (binary_expression "pcVar26 + 0x68278" (identifier "pcVar26") (+ "+") (number_literal "0x68278")) () ")"))))) (; ";")) (expression_statement "iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;" (assignment_expression "iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0" (identifier "iVar21") (= "=") (binary_expression "*(int *)(pcVar26 + 0x682e0) + -0x3cc0" (pointer_expression "*(int *)(pcVar26 + 0x682e0)" (* "*") (cast_expression "(int *)(pcVar26 + 0x682e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar26 + 0x682e0)" (( "(") (binary_expression "pcVar26 + 0x682e0" (identifier "pcVar26") (+ "+") (number_literal "0x682e0")) () ")")))) (+ "+") (number_literal "-0x3cc0"))) (; ";")) (expression_statement "iVar9 = iVar17 + 0x54c4;" (assignment_expression "iVar9 = iVar17 + 0x54c4" (identifier "iVar9") (= "=") (binary_expression "iVar17 + 0x54c4" (identifier "iVar17") (+ "+") (number_literal "0x54c4"))) (; ";")) (while_statement "while( true ) {\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);\n    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);\n    if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }\n    iVar18 = iVar18 + 1;\n    if (iVar18 == 4) break;\n    iVar21 = *(int *)(iVar9 + 0xc);\n    iVar9 = iVar9 + 8;\n  }" ({ "{") (expression_statement "uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);" (assignment_expression "uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13)" (identifier "uVar6") (= "=") (call_expression "(**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13)" (parenthesized_expression "(**(code **)(pcVar26 + 0x68ff4))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x68ff4)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x68ff4)" (* "*") (cast_expression "(code **)(pcVar26 + 0x68ff4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x68ff4)" (( "(") (binary_expression "pcVar26 + 0x68ff4" (identifier "pcVar26") (+ "+") (number_literal "0x68ff4")) () ")"))))) () ")")) (argument_list "(pppppppuVar13)" (( "(") (identifier "pppppppuVar13") () ")")))) (; ";")) (expression_statement "iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);" (assignment_expression "iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6)" (identifier "iVar21") (= "=") (call_expression "(**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6)" (parenthesized_expression "(**(code **)(pcVar26 + 0x69084))" (( "(") (pointer_expression "**(code **)(pcVar26 + 0x69084)" (* "*") (pointer_expression "*(code **)(pcVar26 + 0x69084)" (* "*") (cast_expression "(code **)(pcVar26 + 0x69084)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar26 + 0x69084)" (( "(") (binary_expression "pcVar26 + 0x69084" (identifier "pcVar26") (+ "+") (number_literal "0x69084")) () ")"))))) () ")")) (argument_list "(pppppppuVar13,iVar21,uVar6)" (( "(") (identifier "pppppppuVar13") (, ",") (identifier "iVar21") (, ",") (identifier "uVar6") () ")")))) (; ";")) (if_statement "if (iVar21 != 0) {\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }" (if "if") (parenthesized_expression "(iVar21 != 0)" (( "(") (binary_expression "iVar21 != 0" (identifier "iVar21") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);\n      if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }\n      *(int *)(iVar4 + 0x2d8) = iVar9;\n      return (undefined4 *******)0x0;\n    }" ({ "{") (expression_statement "iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);" (assignment_expression "iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8)" (identifier "iVar9") (= "=") (pointer_expression "*(int *)(iVar17 + 0x54c4 + iVar18 * 8)" (* "*") (cast_expression "(int *)(iVar17 + 0x54c4 + iVar18 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar17 + 0x54c4 + iVar18 * 8)" (( "(") (binary_expression "iVar17 + 0x54c4 + iVar18 * 8" (binary_expression "iVar17 + 0x54c4" (identifier "iVar17") (+ "+") (number_literal "0x54c4")) (+ "+") (binary_expression "iVar18 * 8" (identifier "iVar18") (* "*") (number_literal "8"))) () ")"))))) (; ";")) (if_statement "if (iVar9 == 0) {\n        return (undefined4 *******)0xffffffff;\n      }" (if "if") (parenthesized_expression "(iVar9 == 0)" (( "(") (binary_expression "iVar9 == 0" (identifier "iVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        return (undefined4 *******)0xffffffff;\n      }" ({ "{") (return_statement "return (undefined4 *******)0xffffffff;" (return "return") (cast_expression "(undefined4 *******)0xffffffff" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "*(int *)(iVar4 + 0x2d8) = iVar9;" (assignment_expression "*(int *)(iVar4 + 0x2d8) = iVar9" (pointer_expression "*(int *)(iVar4 + 0x2d8)" (* "*") (cast_expression "(int *)(iVar4 + 0x2d8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + 0x2d8)" (( "(") (binary_expression "iVar4 + 0x2d8" (identifier "iVar4") (+ "+") (number_literal "0x2d8")) () ")")))) (= "=") (identifier "iVar9")) (; ";")) (return_statement "return (undefined4 *******)0x0;" (return "return") (cast_expression "(undefined4 *******)0x0" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (expression_statement "iVar18 = iVar18 + 1;" (assignment_expression "iVar18 = iVar18 + 1" (identifier "iVar18") (= "=") (binary_expression "iVar18 + 1" (identifier "iVar18") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (iVar18 == 4) break;" (if "if") (parenthesized_expression "(iVar18 == 4)" (( "(") (binary_expression "iVar18 == 4" (identifier "iVar18") (== "==") (number_literal "4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "iVar21 = *(int *)(iVar9 + 0xc);" (assignment_expression "iVar21 = *(int *)(iVar9 + 0xc)" (identifier "iVar21") (= "=") (pointer_expression "*(int *)(iVar9 + 0xc)" (* "*") (cast_expression "(int *)(iVar9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0xc)" (( "(") (binary_expression "iVar9 + 0xc" (identifier "iVar9") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "iVar9 = iVar9 + 8;" (assignment_expression "iVar9 = iVar9 + 8" (identifier "iVar9") (= "=") (binary_expression "iVar9 + 8" (identifier "iVar9") (+ "+") (number_literal "8"))) (; ";")) (} "}"))) (return_statement "return (undefined4 *******)0xffffffff;" (return "return") (cast_expression "(undefined4 *******)0xffffffff" (( "(") (type_descriptor "undefined4 *******" (type_identifier "undefined4") (abstract_pointer_declarator "*******" (* "*") (abstract_pointer_declarator "******" (* "*") (abstract_pointer_declarator "*****" (* "*") (abstract_pointer_declarator "****" (* "*") (abstract_pointer_declarator "***" (* "*") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*"))))))))) () ")") (number_literal "0xffffffff")) (; ";")) (} "}")))

/* WARNING: Enum "anon_enum_32": Some values do not have unique names */

type_1 function_1(type_2 fd,void *to,size_t var_5)

{
  char var_23;
  type_3 *puVar2;
  type_1 var_2;
  void *var_13;
  type_1 var_14;
  type_4 aVar6;
  int var_18;
  type_5 uVar8;
  type_6 *puVar9;
  type_7 *pCVar10;
  int var_28;
  type_4 aVar12;
  int *piVar13;
  type_4 ftpcode;
  type_4 aVar14;
  type_4 aVar15;
  type_4 aVar16;
  ssize_t *psVar17;
  type_4 aVar18;
  char *pcVar19;
  int var_25;
  type_4 aVar21;
  int var_27;
  type_4 conn;
  int *piVar23;
  int var_26;
  type_5 *puVar25;
  type_3 *var_7;
  type_8 *var_10;
  type_8 *pcVar28;
  type_4 aStack_128;
  type_7 *pCStack_124;
  type_9 *var_19;
  int var_24;
  type_4 aStack_114;
  type_4 aStack_110;
  type_4 aStack_10c;
  type_4 aStack_108;
  type_8 *pcStack_104;
  type_4 aStack_e0;
  int *var_16;
  type_4 aStack_d8;
  type_4 aStack_d4;
  type_4 aStack_d0;
  ssize_t *psStack_cc;
  type_3 *puStack_c8;
  type_5 uStack_c4;
  type_4 aStack_94;
  type_7 *pCStack_90;
  type_4 aStack_8c;
  type_6 auStack_88 [52];
  type_4 aStack_54;
  type_4 aStack_50;
  type_4 aStack_4c;
  type_2 cStack_48;
  type_8 *pcStack_44;
  type_4 aStack_38;
  ssize_t *psStack_34;
  ssize_t var_6;
  type_4 local_24;
  
  puVar2 = PTR___stack_chk_guard_000a6fe0;
  local_24 = *(type_4 *)PTR___stack_chk_guard_000a6fe0;
  do {
    while (ftpcode.whatever = to, aVar14 = (type_4)var_5, psVar17 = &var_6,
          var_2 = var_1(fd,(char *)to,var_5,&var_6), var_2 != var_3) {
      if (var_2 != var_4) goto LAB_0003d944;
    }
    var_5 = var_5 - var_6;
    to = (void *)((int)to + var_6);
  } while ((void *)var_5 != (void *)0x0);
LAB_0003d944:
  if ((type_4 *)local_24.whatever ==
      *(type_4 **)puVar2) {
    return var_2;
  }
  var_10 = ftp_send_command;
  conn = local_24;
  var_7 = PTR___stack_chk_fail_000a6c54;
  (*(type_8 *)PTR___stack_chk_fail_000a6c54)();
  aVar15.whatever = &aStack_38;
  aVar21 = (type_4)
           ((type_4 *)(var_7 + 0x69650))->result;
  pCStack_90 = (type_7 *)0x0;
                    /* WARNING: Load size is inaccurate */
  aStack_54 = *aVar21.whatever;
  aStack_8c.whatever = aVar15.whatever;
  aStack_50 = (type_4)var_5;
  aStack_4c.whatever = to;
  cStack_48 = fd;
  pcStack_44 = var_10;
  aStack_38 = aVar14;
  psStack_34 = psVar17;
  (**(type_8 **)(var_7 + 0x69494))(auStack_88,0x32);
  aVar14.whatever = auStack_88;
  var_2 = var_8(conn.result,auStack_88);
  if (var_2 == var_3) {
    ftpcode.whatever = &aStack_94;
    aVar14 = conn;
    var_2 = var_9((ssize_t *)&pCStack_90,conn.result,ftpcode.result);
    if (var_2 != var_3) goto LAB_0003da14;
  }
  else {
LAB_0003da14:
    aStack_94.whatever = &DAT_ffffffff;
  }
                    /* WARNING: Load size is inaccurate */
  if ((type_4 *)aStack_54.whatever == *aVar21.whatever) {
    return (type_1)aStack_94.whatever;
  }
  var_10 = *(type_8 **)(var_7 + 0x692c4);
  aVar12 = aStack_54;
  (*var_10)();
  var_13 = ((type_4 *)(aVar12.result + 0x2cc))->whatever;
  puVar25 = *(type_5 **)(var_10 + 0x69574);
  aVar14.whatever =
       (type_4 *)(aVar12.result + var_11) +
       (int)(aVar14.result + var_12);
  uStack_c4 = 0x51;
  var_16 = (int *)*puVar25;
                    /* WARNING: Load size is inaccurate */
  var_2 = *aVar14.whatever;
  puStack_c8 = puVar2;
  *(type_5 *)(var_7 + 0x70780) = 0;
  aVar18.whatever = auStack_88;
  aStack_d8.whatever = auStack_88;
  aStack_d4 = aVar21;
  aStack_d0 = conn;
  psStack_cc = &var_6;
  if ((var_13 == (void *)0x0) ||
     (aVar18 = aVar12,
     ((type_4 *)(aVar12.result + 0x2d4))->whatever == (void *)0x1)) {
    aVar14 = ftpcode;
    aVar6.whatever = (void *)(**(type_8 **)(var_10 + 0x68f9c))(var_2);
    aVar16 = aVar15;
    aVar12 = aVar18;
  }
  else if (((type_4 *)(aVar12.result + 0x2ec))->whatever == (void *)0x0) {
    aVar21.whatever =
         ((type_4 *)(aVar12.result + 0x2e4))->whatever -
         ((type_4 *)(aVar12.result + 0x2e8))->result;
    aVar14.whatever =
         ((type_4 *)(aVar12.result + 0x2e0))->whatever +
         ((type_4 *)(aVar12.result + 0x2e8))->result;
    if (aVar15.whatever < aVar21.whatever) {
      aVar21 = aVar15;
    }
    aVar16 = aVar21;
    (**(type_8 **)(var_10 + 0x69480))(ftpcode.whatever);
    ftpcode.whatever = ftpcode.whatever + aVar21.whatever;
    conn.whatever = aVar15.whatever - aVar21.whatever;
    ((type_4 *)(aVar12.result + 0x2e8))->whatever =
         (type_6 *)
         ((int)aVar21.whatever +
         (int)((type_4 *)(aVar12.result + 0x2e8))->whatever);
    aVar6 = aVar21;
    if ((type_4 *)conn.whatever != (type_4 *)0x0
       ) {
      do {
        aVar16.result = var_17;
        aVar14.whatever = &aStack_e0;
        var_14 = function_1(var_2,&aStack_e0,4);
        if ((var_14 != var_3) ||
           (aVar14 = aStack_e0,
           (type_4 *)aStack_e0.whatever ==
           (type_4 *)0x0)) {
LAB_0003dbc0:
          aVar6.whatever = &DAT_ffffffff;
          break;
        }
        aVar15.whatever =
             var_15(((type_4 *)(aVar12.result + 0x2e0))->
                              whatever,aStack_e0.result);
        ((type_4 *)(aVar12.result + 0x2e0))->whatever = (void *)aVar15;
        aVar16 = aStack_e0;
        if (((type_4 *)aStack_e0.whatever ==
             (type_4 *)0x0) ||
           (((type_4 *)aVar15.whatever ==
             (type_4 *)0x0 ||
            (var_14 = function_1(var_2,aVar15.whatever,aStack_e0.result), aVar14 = aVar15,
            var_14 != var_3)))) goto LAB_0003dbc0;
        aVar14 = (type_4)
                 ((type_4 *)(aVar12.result + 0x2e0))->whatever;
        aVar16 = aStack_e0;
        aVar15.whatever =
             (void *)(*((type_10 *)
                       ((type_4 *)(aVar12.result + 0x2f4))->result)->
                       decode)(((type_4 *)(aVar12.result + 0x2f0))->
                               whatever,aVar14.whatever,aStack_e0.result,
                               ((type_4 *)(aVar12.result + 0x2d4))->result
                               ,aVar12.whatever);
        ((type_4 *)(aVar12.result + 0x2e8))->whatever = (void *)0x0;
        ((type_4 *)(aVar12.result + 0x2e4))->result = (type_1)aVar15;
        if ((type_4 *)aVar15.whatever ==
            (type_4 *)0x0) {
          aVar6 = aVar21;
          if ((type_4 *)aVar21.whatever !=
              (type_4 *)0x0) {
            ((type_4 *)(aVar12.result + 0x2ec))->result =
                 var_22;
          }
          break;
        }
        aVar21.result = aVar15.result;
        if (conn.whatever <= aVar15.whatever) {
          aVar21 = conn;
        }
        aVar14 = (type_4)
                 ((type_4 *)(aVar12.result + 0x2e0))->result;
        aVar16 = aVar21;
        (**(type_8 **)(var_10 + 0x69480))(ftpcode.whatever);
        conn.whatever = conn.whatever - aVar21.whatever;
        aVar6.whatever = aVar6.whatever + aVar21.whatever;
        ftpcode.whatever = ftpcode.whatever + aVar21.whatever;
        ((type_4 *)(aVar12.result + 0x2e8))->whatever =
             (type_6 *)
             ((int)aVar21.whatever +
             (int)((type_4 *)(aVar12.result + 0x2e8))->whatever);
      } while ((type_4 *)conn.whatever !=
               (type_4 *)0x0);
    }
  }
  else {
    ((type_4 *)(aVar12.result + 0x2ec))->whatever = (void *)0x0;
    aVar6.whatever = (type_4 *)0x0;
    aVar16 = ftpcode;
  }
  if (var_16 == (int *)*puVar25) {
    return (type_1)aVar6.whatever;
  }
  var_10 = *(type_8 **)(var_10 + 0x691e8);
  pcVar28 = Curl_sec_read_msg;
  piVar13 = var_16;
  (*var_10)();
  piVar23 = *(int **)(var_10 + 0x6931c);
  pCStack_124 = (type_7 *)0x0;
  var_19 = (type_9 *)0x0;
  var_24 = *piVar23;
  aVar15 = aVar14;
  aStack_114 = aVar12;
  aStack_110 = aVar21;
  aStack_10c = conn;
  aStack_108 = ftpcode;
  pcStack_104 = pcVar28;
  if (piVar13[0xbd] != 0) {
    aVar15.whatever = &aStack_128;
    var_18 = (**(type_8 **)(var_10 + 0x68920))
                      ((type_4 *)(aVar14.result + var_17),
                       aVar15.whatever,&var_19);
    if ((var_18 == 0) && (var_19 != (type_9 *)0x0)) {
      if (-1 < (int)var_19) {
        uVar8 = (**(type_8 **)(var_10 + 0x68860))();
        aVar15 = aStack_128;
        var_18 = (**(type_8 **)(piVar13[0xbd] + 0x20))
                          (piVar13[0xbc],aStack_128.whatever,uVar8,aVar16.whatever,piVar13);
        if (0 < var_18) {
          puVar9 = (type_6 *)((int)aStack_128.whatever + var_18);
          if (*(char *)(*piVar13 + 0x958) != '\0') {
            *puVar9 = 10;
            aVar15.result = var_22;
            var_20((type_7 *)*piVar13,CURLINFO_HEADER_IN,(char *)aStack_128.whatever,
                       var_18 + 1);
            puVar9 = (type_6 *)((int)aStack_128.whatever + var_18);
          }
          *puVar9 = 0;
          if (var_18 < 4) {
            pCVar10 = (type_7 *)0x0;
          }
          else {
            if (*(type_11 *)(aStack_128.result + var_21) == 0x2d) {
              pcVar19 = (type_6 *)(aStack_128.result - var_22) + var_18;
              var_23 = *pcVar19;
            }
            else {
              (**(type_8 **)(var_10 + 0x69020))
                        (aStack_128.whatever,*(int *)(var_10 + 0x684d0) + -0x6f58,&pCStack_124);
              pcVar19 = (type_6 *)(aStack_128.result - var_22) + var_18;
              var_23 = *pcVar19;
            }
            if (var_23 == '\n') {
              *pcVar19 = '\0';
            }
            aVar15 = aStack_128;
            (**(type_8 **)(var_10 + 0x68c90))(aVar14.whatever,aStack_128.whatever);
            (*(type_8 *)**(type_5 **)(var_10 + 0x68480))(aStack_128.whatever);
            pCVar10 = pCStack_124;
          }
          goto LAB_0003ddec;
        }
      }
      (*(type_8 *)**(type_5 **)(var_10 + 0x68480))(aStack_128.whatever);
    }
  }
  pCVar10 = (type_7 *)&DAT_ffffffff;
LAB_0003ddec:
  if (var_24 == *piVar23) {
    return (type_1)pCVar10;
  }
  var_10 = *(type_8 **)(var_10 + 0x68f90);
  var_18 = var_24;
  (*var_10)();
  var_27 = 0;
  var_25 = *(int *)(var_10 + 0x68278);
  var_26 = *(int *)(var_10 + 0x682e0) + -0x3cc0;
  var_28 = var_25 + 0x54c4;
  while( true ) {
    uVar8 = (**(type_8 **)(var_10 + 0x68ff4))(aVar15.whatever);
    var_26 = (**(type_8 **)(var_10 + 0x69084))(aVar15.whatever,var_26,uVar8);
    if (var_26 != 0) {
      var_28 = *(int *)(var_25 + 0x54c4 + var_27 * 8);
      if (var_28 == 0) {
        return ~var_3;
      }
      *(int *)(var_18 + 0x2d8) = var_28;
      return var_3;
    }
    var_27 = var_27 + 1;
    if (var_27 == 4) break;
    var_26 = *(int *)(var_28 + 0xc);
    var_28 = var_28 + 8;
  }
  return ~var_3;
}


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

undefined4 *******
MASKED(undefined4 param_1,undefined4 *******param_2,undefined4 ******param_3)

{
  char cVar1;
  undefined *puVar2;
  undefined4 *******pppppppuVar3;
  int iVar4;
  undefined4 ******ppppppuVar5;
  undefined4 uVar6;
  undefined1 *puVar7;
  undefined4 *******pppppppuVar8;
  int iVar9;
  undefined4 *******pppppppuVar10;
  int *piVar11;
  undefined4 *******pppppppuVar12;
  undefined4 *******pppppppuVar13;
  undefined4 *******pppppppuVar14;
  undefined4 *******pppppppuVar15;
  char *pcVar16;
  int iVar17;
  int iVar18;
  undefined4 *******pppppppuVar19;
  int *piVar20;
  int iVar21;
  undefined4 *******pppppppuVar22;
  undefined4 ******ppppppuVar23;
  undefined4 *puVar24;
  undefined *puVar25;
  code *pcVar26;
  code *pcVar27;
  undefined4 ******ppppppuStack_128;
  undefined4 ******ppppppuStack_124;
  int iStack_120;
  int iStack_11c;
  undefined4 ******ppppppuStack_114;
  undefined4 ******ppppppuStack_110;
  undefined4 ******ppppppuStack_10c;
  undefined4 ******ppppppuStack_108;
  code *pcStack_104;
  undefined4 ******ppppppuStack_f0;
  code *pcStack_e8;
  undefined4 ******ppppppuStack_e0;
  int *piStack_dc;
  undefined4 ******ppppppuStack_d8;
  undefined4 ******ppppppuStack_d4;
  undefined4 ******ppppppuStack_d0;
  int *piStack_cc;
  undefined *puStack_c8;
  undefined4 uStack_c4;
  undefined4 ******ppppppuStack_94;
  undefined4 uStack_90;
  undefined4 ******ppppppuStack_8c;
  undefined4 *****apppppuStack_88 [13];
  undefined4 ******ppppppuStack_54;
  undefined4 *****pppppuStack_50;
  undefined4 ******ppppppuStack_4c;
  undefined4 uStack_48;
  code *pcStack_44;
  undefined4 *****pppppuStack_38;
  int *piStack_34;
  int local_28;
  undefined4 ******local_24;
  
  puVar2 = PTR___stack_chk_guard_000a6fe0;
  local_24 = *(undefined4 *******)PTR___stack_chk_guard_000a6fe0;
  do {
    while (pppppppuVar8 = param_2, ppppppuVar5 = param_3, piVar11 = &local_28,
          pppppppuVar3 = (undefined4 *******)FUN_00025d80(param_1),
          pppppppuVar3 != (undefined4 *******)0x0) {
      if (pppppppuVar3 != (undefined4 *******)0x51) goto LAB_0003d944;
    }
    param_3 = (undefined4 ******)((int)param_3 - local_28);
    param_2 = (undefined4 *******)((int)param_2 + local_28);
  } while (param_3 != (undefined4 ******)0x0);
LAB_0003d944:
  if ((undefined4 *******)local_24 == *(undefined4 ********)puVar2) {
    return pppppppuVar3;
  }
  pcVar26 = FUN_0003d990;
  pppppppuVar19 = (undefined4 *******)local_24;
  puVar25 = PTR___stack_chk_fail_000a6c54;
  (*(code *)PTR___stack_chk_fail_000a6c54)();
  pppppppuVar13 = (undefined4 *******)&pppppuStack_38;
  pppppppuVar3 = *(undefined4 ********)(puVar25 + 0x69650);
  uStack_90 = 0;
  ppppppuStack_54 = *pppppppuVar3;
  ppppppuStack_8c = pppppppuVar13;
  pppppuStack_50 = param_3;
  ppppppuStack_4c = param_2;
  uStack_48 = param_1;
  pcStack_44 = pcVar26;
  pppppuStack_38 = ppppppuVar5;
  piStack_34 = piVar11;
  (**(code **)(puVar25 + 0x69494))(apppppuStack_88,0x32);
  pppppppuVar12 = (undefined4 *******)apppppuStack_88;
  iVar4 = FUN_0002d378(pppppppuVar19);
  if (iVar4 == 0) {
    pppppppuVar8 = &ppppppuStack_94;
    pppppppuVar12 = pppppppuVar19;
    iVar4 = FUN_0002a2c8(&uStack_90);
    if (iVar4 != 0) goto LAB_0003da14;
  }
  else {
LAB_0003da14:
    ppppppuStack_94 = (undefined4 *******)0xffffffff;
  }
  if (ppppppuStack_54 == *pppppppuVar3) {
    return (undefined4 *******)ppppppuStack_94;
  }
  pcVar26 = *(code **)(puVar25 + 0x692c4);
  pppppppuVar10 = (undefined4 *******)ppppppuStack_54;
  (*pcVar26)();
  pcStack_e8 = pcVar26 + 0x706a4;
  ppppppuVar5 = pppppppuVar10[0xb3];
  puVar24 = *(undefined4 **)(pcVar26 + 0x69574);
  pppppppuVar12 = pppppppuVar10 + (int)pppppppuVar12 + 0x66;
  uStack_c4 = 0x51;
  piStack_dc = (int *)*puVar24;
  ppppppuVar23 = *pppppppuVar12;
  puStack_c8 = puVar2;
  *(undefined4 *)(puVar25 + 0x70780) = 0;
  pppppppuVar15 = (undefined4 *******)apppppuStack_88;
  ppppppuStack_d8 = apppppuStack_88;
  ppppppuStack_d4 = pppppppuVar3;
  ppppppuStack_d0 = pppppppuVar19;
  piStack_cc = &local_28;
  if ((ppppppuVar5 == (undefined4 ******)0x0) ||
     (pppppppuVar15 = pppppppuVar10, pppppppuVar10[0xb5] == (undefined4 ******)0x1)) {
    pppppppuVar12 = pppppppuVar8;
    pppppppuVar22 = (undefined4 *******)(**(code **)(pcVar26 + 0x68f9c))(ppppppuVar23);
    pppppppuVar14 = pppppppuVar13;
    pppppppuVar10 = pppppppuVar15;
  }
  else if (pppppppuVar10[0xbb] == (undefined4 ******)0x0) {
    pppppppuVar3 = (undefined4 *******)((int)pppppppuVar10[0xb9] - (int)pppppppuVar10[0xba]);
    pppppppuVar12 = (undefined4 *******)((int)pppppppuVar10[0xb8] + (int)pppppppuVar10[0xba]);
    if (pppppppuVar13 < pppppppuVar3) {
      pppppppuVar3 = pppppppuVar13;
    }
    pppppppuVar14 = pppppppuVar3;
    (**(code **)(pcVar26 + 0x69480))(pppppppuVar8);
    pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);
    pppppppuVar19 = (undefined4 *******)((int)pppppppuVar13 - (int)pppppppuVar3);
    pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);
    pppppppuVar22 = pppppppuVar3;
    if (pppppppuVar19 != (undefined4 *******)0x0) {
      do {
        pppppppuVar14 = (undefined4 *******)0x4;
        pppppppuVar12 = &ppppppuStack_e0;
        iVar4 = MASKED(ppppppuVar23);
        if ((iVar4 != 0) ||
           (pppppppuVar12 = (undefined4 *******)ppppppuStack_e0,
           (undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0)) {
LAB_0003dbc0:
          pppppppuVar22 = (undefined4 *******)0xffffffff;
          break;
        }
        pppppppuVar13 = (undefined4 *******)FUN_0004e494(pppppppuVar10[0xb8]);
        pppppppuVar10[0xb8] = pppppppuVar13;
        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;
        if (((undefined4 *******)ppppppuStack_e0 == (undefined4 *******)0x0) ||
           ((pppppppuVar13 == (undefined4 *******)0x0 ||
            (iVar4 = MASKED(ppppppuVar23), pppppppuVar12 = pppppppuVar13, iVar4 != 0))))
        goto LAB_0003dbc0;
        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];
        pppppppuVar14 = (undefined4 *******)ppppppuStack_e0;
        ppppppuStack_f0 = pppppppuVar10;
        pppppppuVar13 =
             (undefined4 *******)
             (*(code *)pppppppuVar10[0xbd][8])
                       (pppppppuVar10[0xbc],pppppppuVar12,ppppppuStack_e0,pppppppuVar10[0xb5]);
        pppppppuVar10[0xba] = (undefined4 ******)0x0;
        pppppppuVar10[0xb9] = pppppppuVar13;
        if (pppppppuVar13 == (undefined4 *******)0x0) {
          pppppppuVar22 = pppppppuVar3;
          if (pppppppuVar3 != (undefined4 *******)0x0) {
            pppppppuVar10[0xbb] = (undefined4 ******)0x1;
          }
          break;
        }
        pppppppuVar3 = pppppppuVar13;
        if (pppppppuVar19 <= pppppppuVar13) {
          pppppppuVar3 = pppppppuVar19;
        }
        pppppppuVar12 = (undefined4 *******)pppppppuVar10[0xb8];
        pppppppuVar14 = pppppppuVar3;
        (**(code **)(pcStack_e8 + -0x7224))(pppppppuVar8);
        pppppppuVar19 = (undefined4 *******)((int)pppppppuVar19 - (int)pppppppuVar3);
        pppppppuVar22 = (undefined4 *******)((int)pppppppuVar22 + (int)pppppppuVar3);
        pppppppuVar8 = (undefined4 *******)((int)pppppppuVar8 + (int)pppppppuVar3);
        pppppppuVar10[0xba] = (undefined4 ******)((int)pppppppuVar10[0xba] + (int)pppppppuVar3);
      } while (pppppppuVar19 != (undefined4 *******)0x0);
    }
  }
  else {
    pppppppuVar10[0xbb] = (undefined4 ******)0x0;
    pppppppuVar22 = (undefined4 *******)0x0;
    pppppppuVar14 = pppppppuVar8;
  }
  if (piStack_dc == (int *)*puVar24) {
    return pppppppuVar22;
  }
  pcVar26 = *(code **)(pcStack_e8 + -0x74bc);
  pcVar27 = FUN_0003dcc4;
  piVar11 = piStack_dc;
  (*pcVar26)();
  piVar20 = *(int **)(pcVar26 + 0x6931c);
  ppppppuStack_124 = (undefined4 *******)0x0;
  iStack_120 = 0;
  iStack_11c = *piVar20;
  pppppppuVar13 = pppppppuVar12;
  ppppppuStack_114 = pppppppuVar10;
  ppppppuStack_110 = pppppppuVar3;
  ppppppuStack_10c = pppppppuVar19;
  ppppppuStack_108 = pppppppuVar8;
  pcStack_104 = pcVar27;
  if (piVar11[0xbd] != 0) {
    pppppppuVar13 = &ppppppuStack_128;
    iVar4 = (**(code **)(pcVar26 + 0x68920))(pppppppuVar12 + 1,pppppppuVar13,&iStack_120);
    if ((iVar4 == 0) && (iStack_120 != 0)) {
      if (-1 < iStack_120) {
        uVar6 = (**(code **)(pcVar26 + 0x68860))();
        pppppppuVar13 = (undefined4 *******)ppppppuStack_128;
        iVar4 = (**(code **)(piVar11[0xbd] + 0x20))
                          (piVar11[0xbc],ppppppuStack_128,uVar6,pppppppuVar14,piVar11);
        if (0 < iVar4) {
          puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);
          if (*(char *)(*piVar11 + 0x958) != '\0') {
            *puVar7 = 10;
            pppppppuVar13 = (undefined4 *******)0x1;
            FUN_00026010(*piVar11,1,ppppppuStack_128,iVar4 + 1);
            puVar7 = (undefined1 *)((int)ppppppuStack_128 + iVar4);
          }
          *puVar7 = 0;
          if (iVar4 < 4) {
            pppppppuVar8 = (undefined4 *******)0x0;
          }
          else {
            if (*(char *)((int)ppppppuStack_128 + 3) == '-') {
              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);
              cVar1 = *pcVar16;
            }
            else {
              (**(code **)(pcVar26 + 0x69020))
                        (ppppppuStack_128,*(int *)(pcVar26 + 0x684d0) + -0x6f58,&ppppppuStack_124);
              pcVar16 = (char *)((int)ppppppuStack_128 + iVar4 + -1);
              cVar1 = *pcVar16;
            }
            if (cVar1 == '\n') {
              *pcVar16 = '\0';
            }
            pppppppuVar13 = (undefined4 *******)ppppppuStack_128;
            (**(code **)(pcVar26 + 0x68c90))(pppppppuVar12,ppppppuStack_128);
            (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);
            pppppppuVar8 = (undefined4 *******)ppppppuStack_124;
          }
          goto LAB_0003ddec;
        }
      }
      (*(code *)**(undefined4 **)(pcVar26 + 0x68480))(ppppppuStack_128);
    }
  }
  pppppppuVar8 = (undefined4 *******)0xffffffff;
LAB_0003ddec:
  if (iStack_11c == *piVar20) {
    return pppppppuVar8;
  }
  pcVar26 = *(code **)(pcVar26 + 0x68f90);
  iVar4 = iStack_11c;
  (*pcVar26)();
  iVar18 = 0;
  iVar17 = *(int *)(pcVar26 + 0x68278);
  iVar21 = *(int *)(pcVar26 + 0x682e0) + -0x3cc0;
  iVar9 = iVar17 + 0x54c4;
  while( true ) {
    uVar6 = (**(code **)(pcVar26 + 0x68ff4))(pppppppuVar13);
    iVar21 = (**(code **)(pcVar26 + 0x69084))(pppppppuVar13,iVar21,uVar6);
    if (iVar21 != 0) {
      iVar9 = *(int *)(iVar17 + 0x54c4 + iVar18 * 8);
      if (iVar9 == 0) {
        return (undefined4 *******)0xffffffff;
      }
      *(int *)(iVar4 + 0x2d8) = iVar9;
      return (undefined4 *******)0x0;
    }
    iVar18 = iVar18 + 1;
    if (iVar18 == 4) break;
    iVar21 = *(int *)(iVar9 + 0xc);
    iVar9 = iVar9 + 8;
  }
  return (undefined4 *******)0xffffffff;
}

